From ea01954dc99347451113a652681c2d0104eaa767 Mon Sep 17 00:00:00 2001
From: Xiliang Chen <xlchen1291@gmail.com>
Date: Mon, 5 Apr 2021 17:14:26 +1200
Subject: [PATCH] remove disable-tokens-by-owner (#434)

---
 Makefile                     |  2 --
 auction/src/mock.rs          |  1 +
 authority/src/mock.rs        |  1 +
 benchmarking/src/tests.rs    |  1 +
 currencies/src/mock.rs       |  1 +
 gradually-update/src/mock.rs |  1 +
 nft/Cargo.toml               |  1 -
 nft/src/lib.rs               | 16 ++--------------
 nft/src/mock.rs              |  1 +
 oracle/src/mock.rs           |  1 +
 rewards/src/mock.rs          |  1 +
 tokens/src/mock.rs           |  1 +
 unknown-tokens/src/mock.rs   |  1 +
 vesting/src/mock.rs          |  1 +
 14 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/Makefile b/Makefile
index afee442..9b45dce 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,6 @@ check-tests: githooks
 
 test: githooks
 	./scripts/run.sh test
-	cargo test --manifest-path nft/Cargo.toml -p orml-nft --features disable-tokens-by-owner
 
 GITHOOKS_SRC = $(wildcard githooks/*)
 GITHOOKS_DEST = $(patsubst githooks/%, $(GITHOOK)/%, $(GITHOOKS_SRC))
@@ -48,4 +47,3 @@ dev-check-tests: Cargo.toml
 
 dev-test: Cargo.toml
 	cargo test --all
-	cargo test --manifest-path nft/Cargo.toml -p orml-nft --features disable-tokens-by-owner
diff --git a/auction/src/mock.rs b/auction/src/mock.rs
index 25558c2..718c251 100644
--- a/auction/src/mock.rs
+++ b/auction/src/mock.rs
@@ -42,6 +42,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 pub struct Handler;
diff --git a/authority/src/mock.rs b/authority/src/mock.rs
index 069f994..593710b 100644
--- a/authority/src/mock.rs
+++ b/authority/src/mock.rs
@@ -51,6 +51,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 parameter_types! {
diff --git a/benchmarking/src/tests.rs b/benchmarking/src/tests.rs
index 5068c81..333a776 100644
--- a/benchmarking/src/tests.rs
+++ b/benchmarking/src/tests.rs
@@ -76,6 +76,7 @@ impl frame_system::Config for Test {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 impl tests::test::Config for Test {
diff --git a/currencies/src/mock.rs b/currencies/src/mock.rs
index a71a81f..6eb8d88 100644
--- a/currencies/src/mock.rs
+++ b/currencies/src/mock.rs
@@ -42,6 +42,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 type CurrencyId = u32;
diff --git a/gradually-update/src/mock.rs b/gradually-update/src/mock.rs
index d837e63..410cb93 100644
--- a/gradually-update/src/mock.rs
+++ b/gradually-update/src/mock.rs
@@ -39,6 +39,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 parameter_types! {
diff --git a/nft/Cargo.toml b/nft/Cargo.toml
index 27fb6a4..35f1b3c 100644
--- a/nft/Cargo.toml
+++ b/nft/Cargo.toml
@@ -32,4 +32,3 @@ std = [
 	"frame-support/std",
 	"frame-system/std",
 ]
-disable-tokens-by-owner = []
diff --git a/nft/src/lib.rs b/nft/src/lib.rs
index 706a760..1911023 100644
--- a/nft/src/lib.rs
+++ b/nft/src/lib.rs
@@ -136,9 +136,6 @@ pub mod module {
 		StorageDoubleMap<_, Twox64Concat, T::ClassId, Twox64Concat, T::TokenId, TokenInfoOf<T>>;
 
 	/// Token existence check by owner and class ID.
-	// TODO: pallet macro doesn't support conditional compiling. Always having `TokensByOwner` storage doesn't hurt but
-	// it could be removed once conditional compiling supported.
-	// #[cfg(not(feature = "disable-tokens-by-owner"))]
 	#[pallet::storage]
 	#[pallet::getter(fn tokens_by_owner)]
 	pub type TokensByOwner<T: Config> =
@@ -216,11 +213,8 @@ impl<T: Config> Pallet<T> {
 
 			info.owner = to.clone();
 
-			#[cfg(not(feature = "disable-tokens-by-owner"))]
-			{
-				TokensByOwner::<T>::remove(from, token);
-				TokensByOwner::<T>::insert(to, token, ());
-			}
+			TokensByOwner::<T>::remove(from, token);
+			TokensByOwner::<T>::insert(to, token, ());
 
 			Ok(())
 		})
@@ -252,7 +246,6 @@ impl<T: Config> Pallet<T> {
 				data,
 			};
 			Tokens::<T>::insert(class_id, token_id, token_info);
-			#[cfg(not(feature = "disable-tokens-by-owner"))]
 			TokensByOwner::<T>::insert(owner, (class_id, token_id), ());
 
 			Ok(token_id)
@@ -274,7 +267,6 @@ impl<T: Config> Pallet<T> {
 				Ok(())
 			})?;
 
-			#[cfg(not(feature = "disable-tokens-by-owner"))]
 			TokensByOwner::<T>::remove(owner, token);
 
 			Ok(())
@@ -295,10 +287,6 @@ impl<T: Config> Pallet<T> {
 	}
 
 	pub fn is_owner(account: &T::AccountId, token: (T::ClassId, T::TokenId)) -> bool {
-		#[cfg(feature = "disable-tokens-by-owner")]
-		return Tokens::<T>::get(token.0, token.1).map_or(false, |token| token.owner == *account);
-
-		#[cfg(not(feature = "disable-tokens-by-owner"))]
 		TokensByOwner::<T>::contains_key(account, token)
 	}
 }
diff --git a/nft/src/mock.rs b/nft/src/mock.rs
index cf4bac4..915f675 100644
--- a/nft/src/mock.rs
+++ b/nft/src/mock.rs
@@ -40,6 +40,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 impl Config for Runtime {
diff --git a/oracle/src/mock.rs b/oracle/src/mock.rs
index c7ea748..569dcdc 100644
--- a/oracle/src/mock.rs
+++ b/oracle/src/mock.rs
@@ -45,6 +45,7 @@ impl frame_system::Config for Test {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 thread_local! {
diff --git a/rewards/src/mock.rs b/rewards/src/mock.rs
index d088983..2a34337 100644
--- a/rewards/src/mock.rs
+++ b/rewards/src/mock.rs
@@ -49,6 +49,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 thread_local! {
diff --git a/tokens/src/mock.rs b/tokens/src/mock.rs
index bc430b1..6076939 100644
--- a/tokens/src/mock.rs
+++ b/tokens/src/mock.rs
@@ -54,6 +54,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 thread_local! {
diff --git a/unknown-tokens/src/mock.rs b/unknown-tokens/src/mock.rs
index 1a68d01..b8e297a 100644
--- a/unknown-tokens/src/mock.rs
+++ b/unknown-tokens/src/mock.rs
@@ -38,6 +38,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 impl Config for Runtime {
diff --git a/vesting/src/mock.rs b/vesting/src/mock.rs
index c99f500..e3b2501 100644
--- a/vesting/src/mock.rs
+++ b/vesting/src/mock.rs
@@ -38,6 +38,7 @@ impl frame_system::Config for Runtime {
 	type BaseCallFilter = ();
 	type SystemWeightInfo = ();
 	type SS58Prefix = ();
+	type OnSetCode = ();
 }
 
 type Balance = u64;
-- 
GitLab