collective pallet: sort genesis members and enforce max len constraint (#13988)

* insert members in sorted order

* improve variable name

* enforce genesis members length constraint
This commit is contained in:
Liam Aharon
2023-04-27 18:55:01 +10:00
committed by GitHub
parent 27f89d653b
commit be6b03738e
2 changed files with 42 additions and 4 deletions
+6
View File
@@ -246,6 +246,10 @@ pub mod pallet {
self.members.len(),
"Members cannot contain duplicate accounts."
);
assert!(
self.members.len() <= T::MaxMembers::get() as usize,
"Members length cannot exceed MaxMembers.",
);
Pallet::<T, I>::initialize_members(&self.members)
}
@@ -1107,6 +1111,8 @@ impl<T: Config<I>, I: 'static> InitializeMembers<T::AccountId> for Pallet<T, I>
fn initialize_members(members: &[T::AccountId]) {
if !members.is_empty() {
assert!(<Members<T, I>>::get().is_empty(), "Members are already initialized!");
let mut members = members.to_vec();
members.sort();
<Members<T, I>>::put(members);
}
}