From d6ed11e598d5dbf0e506ea6633ee3980cc29db1d Mon Sep 17 00:00:00 2001
From: bgallois <benjamin@gallois.cc>
Date: Wed, 9 Apr 2025 11:30:28 +0200
Subject: [PATCH] upgrade pallets

---
 pallets/identity/src/types.rs           | 7 ++++---
 pallets/membership/src/lib.rs           | 2 +-
 pallets/provide-randomness/src/types.rs | 6 ++++--
 primitives/distance/src/lib.rs          | 4 ++--
 4 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/pallets/identity/src/types.rs b/pallets/identity/src/types.rs
index 60d92bbb6..1de3c4656 100644
--- a/pallets/identity/src/types.rs
+++ b/pallets/identity/src/types.rs
@@ -16,7 +16,7 @@
 
 //! Various basic types for use in the identity pallet.
 
-use codec::{Decode, Encode};
+use codec::{Decode, DecodeWithMemTracking, Encode};
 use frame_support::pallet_prelude::*;
 use scale_info::{prelude::vec::Vec, TypeInfo};
 use serde::{Deserialize, Serialize};
@@ -45,7 +45,7 @@ pub enum IdtyEvent<T: crate::Config> {
 }
 
 /// Reasons for revocation.
-#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
+#[derive(Encode, Decode, DecodeWithMemTracking, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
 pub enum RevocationReason {
     /// Revoked by root (e.g., governance or migration).
     Root,
@@ -56,7 +56,7 @@ pub enum RevocationReason {
 }
 
 /// Reasons for removal.
-#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
+#[derive(Encode, Decode, Clone, DecodeWithMemTracking, PartialEq, Eq, RuntimeDebug, TypeInfo)]
 pub enum RemovalReason {
     /// Removed by root.
     Root,
@@ -72,6 +72,7 @@ pub enum RemovalReason {
 #[derive(
     Encode,
     Decode,
+    DecodeWithMemTracking,
     Default,
     Clone,
     PartialEq,
diff --git a/pallets/membership/src/lib.rs b/pallets/membership/src/lib.rs
index ffbd6b879..402639c36 100644
--- a/pallets/membership/src/lib.rs
+++ b/pallets/membership/src/lib.rs
@@ -57,7 +57,7 @@ impl<IdtyId, AccountId> SetupBenchmark<IdtyId, AccountId> for () {
 }
 
 /// Represent reasons for the removal of membership.
-#[derive(Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug, TypeInfo)]
+#[derive(Encode, Decode, Clone, DecodeWithMemTracking, PartialEq, Eq, RuntimeDebug, TypeInfo)]
 pub enum MembershipRemovalReason {
     /// Indicates membership was removed because it reached the end of its life.
     Expired,
diff --git a/pallets/provide-randomness/src/types.rs b/pallets/provide-randomness/src/types.rs
index 4dfeda203..50270f0b8 100644
--- a/pallets/provide-randomness/src/types.rs
+++ b/pallets/provide-randomness/src/types.rs
@@ -17,13 +17,15 @@
 //! Various basic types for use in pallet provide randomness
 
 use super::RequestId;
-use codec::{Decode, Encode};
+use codec::{Decode, DecodeWithMemTracking, Encode};
 use frame_support::pallet_prelude::*;
 use scale_info::TypeInfo;
 use sp_core::H256;
 
 /// The type of randomness source.
-#[derive(Clone, Copy, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo)]
+#[derive(
+    Clone, DecodeWithMemTracking, Copy, Decode, Encode, Eq, PartialEq, RuntimeDebug, TypeInfo,
+)]
 pub enum RandomnessType {
     /// Randomness derived from the previous block.
     RandomnessFromPreviousBlock,
diff --git a/primitives/distance/src/lib.rs b/primitives/distance/src/lib.rs
index c447da102..823ba54bd 100644
--- a/primitives/distance/src/lib.rs
+++ b/primitives/distance/src/lib.rs
@@ -19,7 +19,7 @@
 #![cfg_attr(not(feature = "std"), no_std)]
 #![allow(clippy::type_complexity)]
 
-use codec::{Decode, Encode};
+use codec::{Decode, DecodeWithMemTracking, Encode};
 use frame_support::pallet_prelude::RuntimeDebug;
 use scale_info::TypeInfo;
 use sp_inherents::{InherentData, InherentIdentifier, IsFatalError};
@@ -30,7 +30,7 @@ use std::marker::PhantomData;
 pub const INHERENT_IDENTIFIER: InherentIdentifier = *b"distanc0";
 
 /// Represents the result of a distance computation.
-#[derive(Clone, Decode, Encode, PartialEq, RuntimeDebug, TypeInfo)]
+#[derive(Clone, DecodeWithMemTracking, Decode, Encode, PartialEq, RuntimeDebug, TypeInfo)]
 pub struct ComputationResult {
     pub distances: scale_info::prelude::vec::Vec<Perbill>,
 }
-- 
GitLab