diff --git a/pallets/identity/src/lib.rs b/pallets/identity/src/lib.rs index 86e152b7f378c6b60eeb1c2b9694b43728905091..7e5d88833c4cb3fbf1fa2004c52e46c6877322fc 100644 --- a/pallets/identity/src/lib.rs +++ b/pallets/identity/src/lib.rs @@ -255,9 +255,13 @@ pub mod pallet { dids.insert(idty_value.did); } + // We need to sort identities to ensure determinisctic result + let mut identities = self.identities.clone(); + identities.sort_by(|idty_val_1, idty_val_2| idty_val_1.did.cmp(&idty_val_2.did)); + <StorageVersion<T>>::put(Releases::V1_0_0); <IdentitiesCount<T>>::put(self.identities.len() as u64); - for idty_value in &self.identities { + for idty_value in &identities { let idty_index = Pallet::<T>::get_next_idty_index(); if let Some(removable_on) = idty_value.removable_on { <IdentitiesRemovableOn<T>>::append(