From 17cbc12f7035dea49ef1b0a84b5703ed5fa4925a Mon Sep 17 00:00:00 2001
From: librelois <c@elo.tf>
Date: Fri, 16 Jul 2021 20:21:04 +0200
Subject: [PATCH] fix(identity): genesis state build must be deterministic

---
 pallets/identity/src/lib.rs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/pallets/identity/src/lib.rs b/pallets/identity/src/lib.rs
index 86e152b7f..7e5d88833 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(
-- 
GitLab