From d591b16f6b1dec88003323cdae0c3abe3b5c9cbe Mon Sep 17 00:00:00 2001
From: Tin Chung <56880684+chungquantin@users.noreply.github.com>
Date: Thu, 18 Apr 2024 13:44:49 +0700
Subject: [PATCH] Remove NotConcrete error (#3867)

# Description
- Link to issue: https://github.com/paritytech/polkadot-sdk/issues/3651

polkadot address: 19nSqFQorfF2HxD3oBzWM3oCh4SaCRKWt1yvmgaPYGCo71J
---
 polkadot/xcm/pallet-xcm/src/lib.rs                     | 9 ++++++---
 polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs | 2 --
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/polkadot/xcm/pallet-xcm/src/lib.rs b/polkadot/xcm/pallet-xcm/src/lib.rs
index cf22b86cf82..698ec6998b4 100644
--- a/polkadot/xcm/pallet-xcm/src/lib.rs
+++ b/polkadot/xcm/pallet-xcm/src/lib.rs
@@ -535,20 +535,24 @@ pub mod pallet {
 		LockNotFound,
 		/// The unlock operation cannot succeed because there are still consumers of the lock.
 		InUse,
-		/// Invalid non-concrete asset.
-		InvalidAssetNotConcrete,
 		/// Invalid asset, reserve chain could not be determined for it.
+		#[codec(index = 21)]
 		InvalidAssetUnknownReserve,
 		/// Invalid asset, do not support remote asset reserves with different fees reserves.
+		#[codec(index = 22)]
 		InvalidAssetUnsupportedReserve,
 		/// Too many assets with different reserve locations have been attempted for transfer.
+		#[codec(index = 23)]
 		TooManyReserves,
 		/// Local XCM execution incomplete.
+		#[codec(index = 24)]
 		LocalExecutionIncomplete,
 		/// Could not decode XCM.
+		#[codec(index = 25)]
 		UnableToDecode,
 		/// XCM encoded length is too large.
 		/// Returned when an XCM encoded length is larger than `MaxXcmEncodedSize`.
+		#[codec(index = 26)]
 		XcmTooLarge,
 	}
 
@@ -565,7 +569,6 @@ pub mod pallet {
 	impl<T: Config> From<AssetTransferError> for Error<T> {
 		fn from(e: AssetTransferError) -> Self {
 			match e {
-				AssetTransferError::NotConcrete => Error::<T>::InvalidAssetNotConcrete,
 				AssetTransferError::UnknownReserve => Error::<T>::InvalidAssetUnknownReserve,
 			}
 		}
diff --git a/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs b/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs
index 6d72eaf680f..22e4a3bd61a 100644
--- a/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs
+++ b/polkadot/xcm/xcm-executor/src/traits/asset_transfer.rs
@@ -23,8 +23,6 @@ use xcm::prelude::*;
 /// Errors related to determining asset transfer support.
 #[derive(Copy, Clone, Encode, Decode, Eq, PartialEq, Debug, TypeInfo)]
 pub enum Error {
-	/// Invalid non-concrete asset.
-	NotConcrete,
 	/// Reserve chain could not be determined for assets.
 	UnknownReserve,
 }
-- 
GitLab