git.delta.rocks / unique-network / refs/commits / ba88e512e348

difftreelog

refactor(rmrk-rpc) merged mapped calls for collection and id into one

Fahrrader2022-06-03parent: #00b9fd6.patch.diff
in: master

2 files changed

modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
912 Self::get_nft_collection(collection_id)912 Self::get_nft_collection(collection_id)
913 }913 }
914
915 pub fn get_typed_nft_collection_mapped(
916 rmrk_collection_id: RmrkCollectionId,
917 collection_type: misc::CollectionType,
918 ) -> Result<(NonfungibleHandle<T>, CollectionId), DispatchError> {
919 let unique_collection_id = Self::unique_collection_id(rmrk_collection_id)?;
920
921 let collection = Self::get_typed_nft_collection(unique_collection_id, collection_type)?;
922
923 Ok((collection, unique_collection_id))
924 }
914925
915 pub fn get_nft_property(926 pub fn get_nft_property(
916 collection_id: CollectionId,927 collection_id: CollectionId,
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -147,12 +147,7 @@
                     use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType};
                     use pallet_common::CommonCollectionOperations;
 
-                    let collection_id = match RmrkCore::unique_collection_id(collection_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(None)
-                    };
-
-                    let collection = match RmrkCore::get_typed_nft_collection(collection_id, CollectionType::Regular) {
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) {
                         Ok(c) => c,
                         Err(_) => return Ok(None),
                     };
@@ -173,11 +168,7 @@
                     use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType};
                     use pallet_common::CommonCollectionOperations;
 
-                    let collection_id = match RmrkCore::unique_collection_id(collection_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(None)
-                    };
-                    let collection = match RmrkCore::get_typed_nft_collection(collection_id, CollectionType::Regular) {
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) {
                         Ok(c) => c,
                         Err(_) => return Ok(None),
                     };
@@ -213,11 +204,11 @@
                     use pallet_common::CommonCollectionOperations;
 
                     let cross_account_id = CrossAccountId::from_sub(account_id);
-                    let collection_id = match RmrkCore::unique_collection_id(collection_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(Vec::new())
+
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(collection_id, CollectionType::Regular) {
+                        Ok(c) => c,
+                        Err(_) => return Ok(Vec::new()),
                     };
-                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Regular).is_err() { return Ok(Vec::new()); }
 
                     Ok(
                         collection.account_tokens(cross_account_id)
@@ -387,11 +378,7 @@
                         RmrkProperty, misc::{CollectionType},
                     };
 
-                    let collection_id = match RmrkCore::unique_collection_id(base_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(None)
-                    };
-                    let collection = match RmrkCore::get_typed_nft_collection(collection_id, CollectionType::Base) {
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) {
                         Ok(c) => c,
                         Err(_) => return Ok(None),
                     };
@@ -407,12 +394,11 @@
                     use pallet_proxy_rmrk_core::{RmrkProperty, misc::{CollectionType, NftType}};
                     use pallet_common::CommonCollectionOperations;
 
-                    let collection_id = match RmrkCore::unique_collection_id(base_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(Vec::new())
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) {
+                        Ok(c) => c,
+                        Err(_) => return Ok(Vec::new()),
                     };
-                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Base).is_err() { return Ok(Vec::new()); }
-
+                    
                     let parts = collection.collection_tokens()
                         .into_iter()
                         .filter_map(|token_id| {
@@ -442,14 +428,10 @@
                     use pallet_proxy_rmrk_core::{RmrkProperty, misc::CollectionType};
                     use pallet_common::CommonCollectionOperations;
 
-                    let collection_id = match RmrkCore::unique_collection_id(base_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(Vec::new())
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) {
+                        Ok(c) => c,
+                        Err(_) => return Ok(Vec::new()),
                     };
-                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Base).is_err() {
-                        return Ok(Vec::new());
-                    }
-
 
                     let theme_names = collection.collection_tokens()
                         .iter()
@@ -475,13 +457,10 @@
                     };
                     use pallet_common::CommonCollectionOperations;
 
-                    let collection_id = match RmrkCore::unique_collection_id(base_id) {
-                        Ok(id) => id,
-                        Err(_) => return Ok(None)
+                    let (collection, collection_id) = match RmrkCore::get_typed_nft_collection_mapped(base_id, CollectionType::Base) {
+                        Ok(c) => c,
+                        Err(_) => return Ok(None),
                     };
-                    if RmrkCore::ensure_collection_type(collection_id, CollectionType::Base).is_err() {
-                        return Ok(None);
-                    }
 
                     let theme_info = collection.collection_tokens()
                         .into_iter()