From d2411a2639424cc48eff6522964b3607d243cba8 Mon Sep 17 00:00:00 2001
From: PG Herveou <pgherveou@gmail.com>
Date: Fri, 28 Jul 2023 12:08:26 +0200
Subject: [PATCH] Contracts Rollback StorageMap hashing migration (#14661)

* Contracts Rollback StorageMap hashing migration

* misc v13
---
 substrate/frame/contracts/src/lib.rs           | 4 ++--
 substrate/frame/contracts/src/migration/v13.rs | 3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/substrate/frame/contracts/src/lib.rs b/substrate/frame/contracts/src/lib.rs
index 449576270fc..bd01bb232ec 100644
--- a/substrate/frame/contracts/src/lib.rs
+++ b/substrate/frame/contracts/src/lib.rs
@@ -187,7 +187,7 @@ pub mod pallet {
 
 	/// The current storage version.
 	#[cfg(not(any(test, feature = "runtime-benchmarks")))]
-	const STORAGE_VERSION: StorageVersion = StorageVersion::new(12);
+	const STORAGE_VERSION: StorageVersion = StorageVersion::new(13);
 
 	/// Hard coded storage version for running tests that depend on the current storage version.
 	#[cfg(any(test, feature = "runtime-benchmarks"))]
@@ -1022,7 +1022,7 @@ pub mod pallet {
 	/// TWOX-NOTE: SAFE since `AccountId` is a secure hash.
 	#[pallet::storage]
 	pub(crate) type ContractInfoOf<T: Config> =
-		StorageMap<_, Identity, T::AccountId, ContractInfo<T>>;
+		StorageMap<_, Twox64Concat, T::AccountId, ContractInfo<T>>;
 
 	/// Evicted contracts that await child trie deletion.
 	///
diff --git a/substrate/frame/contracts/src/migration/v13.rs b/substrate/frame/contracts/src/migration/v13.rs
index a512e6c074d..ade837f46e9 100644
--- a/substrate/frame/contracts/src/migration/v13.rs
+++ b/substrate/frame/contracts/src/migration/v13.rs
@@ -16,7 +16,6 @@
 // limitations under the License.
 
 //! Add `delegate_dependencies` to `ContractInfo`.
-//! Use `Identity` instead of `Twox64Concat` for hashing keys of the `ContractInfoOf` storage map
 //! See <https://github.com/paritytech/substrate/pull/14079>.
 
 use crate::{
@@ -74,7 +73,7 @@ pub fn store_old_contract_info<T: Config>(account: T::AccountId, info: crate::Co
 
 #[storage_alias]
 pub type ContractInfoOf<T: Config> =
-	StorageMap<Pallet<T>, Identity, <T as frame_system::Config>::AccountId, ContractInfo<T>>;
+	StorageMap<Pallet<T>, Twox64Concat, <T as frame_system::Config>::AccountId, ContractInfo<T>>;
 
 #[derive(Encode, Decode, CloneNoBound, PartialEq, Eq, RuntimeDebug, TypeInfo, MaxEncodedLen)]
 #[scale_info(skip_type_params(T))]
-- 
GitLab