From ed1023839919cdc3a11368c11e6a5f173535705b Mon Sep 17 00:00:00 2001 From: Adam Reif Date: Mon, 3 Apr 2023 21:00:05 -0500 Subject: [PATCH] check for supported multilocation type when creating/updating assets Signed-off-by: Adam Reif --- pallets/asset-manager/src/lib.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pallets/asset-manager/src/lib.rs b/pallets/asset-manager/src/lib.rs index 51af3f703..6dc008abe 100644 --- a/pallets/asset-manager/src/lib.rs +++ b/pallets/asset-manager/src/lib.rs @@ -261,6 +261,9 @@ pub mod pallet { /// Location Already Exists LocationAlreadyExists, + /// MultiLocation Type Not Supported + LocationNotSupported, + /// An error occured while creating a new asset at the [`AssetRegistry`]. ErrorCreatingAsset, @@ -348,6 +351,7 @@ pub mod pallet { !LocationAssetId::::contains_key(&location), Error::::LocationAlreadyExists ); + ensure!(Self::contains(&location), Error::::LocationNotSupported); let asset_id = Self::next_asset_id_and_increment()?; >::AssetRegistry::create_asset( asset_id, @@ -399,6 +403,7 @@ pub mod pallet { !LocationAssetId::::contains_key(&location), Error::::LocationAlreadyExists ); + ensure!(Self::contains(&location), Error::::LocationNotSupported); // change the ledger state. let old_location = AssetIdLocation::::get(asset_id).ok_or(Error::::UpdateNonExistentAsset)?;