Skip to content
Snippets Groups Projects
Commit 64bc018b authored by Cédric Moreau's avatar Cédric Moreau
Browse files

fix(#148): remove AuthoritiesCounter

parent 6c35d792
No related branches found
No related tags found
No related merge requests found
Pipeline #35229 passed
......@@ -116,7 +116,6 @@ pub mod pallet {
.collect::<Vec<T::MemberId>>();
members_ids.sort();
AuthoritiesCounter::<T>::put(members_ids.len() as u32);
OnlineAuthorities::<T>::put(members_ids.clone());
}
}
......@@ -129,11 +128,6 @@ pub mod pallet {
pub type AccountIdOf<T: Config> =
StorageMap<_, Twox64Concat, T::MemberId, T::AccountId, OptionQuery>;
/// count the number of authorities
#[pallet::storage]
#[pallet::getter(fn authorities_counter)]
pub type AuthoritiesCounter<T: Config> = StorageValue<_, u32, ValueQuery>;
/// list incoming authorities
#[pallet::storage]
#[pallet::getter(fn incoming)]
......@@ -270,7 +264,7 @@ pub mod pallet {
if Self::is_online(member_id) && !is_outgoing {
return Err(Error::<T>::AlreadyOnline.into());
}
if AuthoritiesCounter::<T>::get() >= T::MaxAuthorities::get() {
if Self::authorities_counter() >= T::MaxAuthorities::get() {
return Err(Error::<T>::TooManyAuthorities.into());
}
......@@ -377,6 +371,12 @@ pub mod pallet {
Ok(().into())
}
pub fn authorities_counter() -> u32 {
let count = OnlineAuthorities::<T>::get().len() + IncomingAuthorities::<T>::get().len()
- OutgoingAuthorities::<T>::get().len();
count as u32
}
}
// INTERNAL FUNCTIONS //
......@@ -420,7 +420,6 @@ pub mod pallet {
}
});
if not_already_inserted {
AuthoritiesCounter::<T>::mutate(|counter| *counter += 1);
Self::deposit_event(Event::MemberGoOnline { member: member_id });
}
not_already_inserted
......@@ -436,11 +435,6 @@ pub mod pallet {
}
});
if not_already_inserted {
AuthoritiesCounter::<T>::mutate(|counter| {
if *counter > 0 {
*counter -= 1
}
});
Self::deposit_event(Event::MemberGoOffline { member: member_id });
}
not_already_inserted
......@@ -469,7 +463,6 @@ pub mod pallet {
}
/// perform removal from incoming authorities
fn remove_in(member_id: T::MemberId) {
AuthoritiesCounter::<T>::mutate(|counter| counter.saturating_sub(1));
IncomingAuthorities::<T>::mutate(|members_ids| {
if let Ok(index) = members_ids.binary_search(&member_id) {
members_ids.remove(index);
......@@ -478,7 +471,6 @@ pub mod pallet {
}
/// perform removal from online authorities
fn remove_online(member_id: T::MemberId) {
AuthoritiesCounter::<T>::mutate(|counter| counter.saturating_add(1));
OnlineAuthorities::<T>::mutate(|members_ids| {
if let Ok(index) = members_ids.binary_search(&member_id) {
members_ids.remove(index);
......
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment