git.delta.rocks / unique-network / refs/commits / 23acc2ad1c40

difftreelog

panic marcos removed

str-mv2020-09-23parent: #6257940.patch.diff
in: master

2 files changed

modifiedREADME.mddiffbeforeafterboth
--- a/README.md
+++ b/README.md
@@ -109,6 +109,12 @@
     "enable_println": "bool",
     "max_subject_len": "u32"
   },
+  "AccessMode": {
+    "_enum": [
+      "Normal",
+      "WhiteList"
+    ]
+  },
   "CollectionMode": {
     "_enum": {
       "Invalid": null,
@@ -139,7 +145,7 @@
   "CollectionType": {
     "Owner": "AccountId",
     "Mode": "CollectionMode",
-    "Access": "u8",
+    "Access": "AccessMode",
     "DecimalPoints": "u32",
     "Name": "Vec<u16>",
     "Description": "Vec<u16>",
@@ -155,4 +161,5 @@
   "LookupSource": "AccountId",
   "Weight": "u64"
 }
+
 ```
\ No newline at end of file
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
475 let target_collection = <Collection<T>>::get(collection_id);475 let target_collection = <Collection<T>>::get(collection_id);
476476
477 if !Self::is_owner_or_admin_permissions(collection_id, sender.clone()) {477 if !Self::is_owner_or_admin_permissions(collection_id, sender.clone()) {
478 if target_collection.mint_mode == false {478 ensure!(target_collection.mint_mode == true, "Collection is not in mint mode");
479 panic!("Collection is not in mint mode");
480 }
481
482 Self::check_white_list(collection_id, owner.clone())?;479 Self::check_white_list(collection_id, owner.clone())?;
483 }480 }
629 let sender = ensure_signed(origin)?;626 let sender = ensure_signed(origin)?;
630 let approved_list_exists = <ApprovedList<T>>::contains_key(collection_id, (item_id, from.clone()));627 let approved_list_exists = <ApprovedList<T>>::contains_key(collection_id, (item_id, from.clone()));
628
631 if approved_list_exists629 ensure!(approved_list_exists, "Only approved addresses can call this method");
632 {630
633 Self::check_white_list(collection_id, from.clone())?;631 Self::check_white_list(collection_id, from.clone())?;
634 Self::check_white_list(collection_id, recipient.clone())?;632 Self::check_white_list(collection_id, recipient.clone())?;
635633
642 let approve_list: Vec<ApprovePermissions<T::AccountId>> = <ApprovedList<T>>::get(collection_id, (item_id, from.clone()))640 let approve_list: Vec<ApprovePermissions<T::AccountId>> = <ApprovedList<T>>::get(collection_id, (item_id, from.clone()))
643 .into_iter().filter(|i| i.approved != sender.clone()).collect();641 .into_iter().filter(|i| i.approved != sender.clone()).collect();
644 <ApprovedList<T>>::insert(collection_id, (item_id, from.clone()), approve_list);642 <ApprovedList<T>>::insert(collection_id, (item_id, from.clone()), approve_list);
645 }
646 else
647 {
648 panic!("Only approved addresses can call this method");
649 }
650643
651 let target_collection = <Collection<T>>::get(collection_id);644 let target_collection = <Collection<T>>::get(collection_id);
652645
872 Self::collection_exists(collection_id)?;865 Self::collection_exists(collection_id)?;
873 let result = Self::is_owner_or_admin_permissions(collection_id, subject.clone());866 let result = Self::is_owner_or_admin_permissions(collection_id, subject.clone());
874867
875 if result == true {868 ensure!(result, "You do not have permissions to modify this collection");
876 Ok(())869 Ok(())
877 } else {
878 panic!("You do not have permissions to modify this collection")
879 }
880 }870 }
881871
882 fn is_item_owner(subject: T::AccountId, collection_id: u64, item_id: u64) -> bool {872 fn is_item_owner(subject: T::AccountId, collection_id: u64, item_id: u64) -> bool {
902 fn check_white_list(collection_id: u64, address: T::AccountId) -> DispatchResult {892 fn check_white_list(collection_id: u64, address: T::AccountId) -> DispatchResult {
903893
904 let mes = "Address is not in white list";894 let mes = "Address is not in white list";
905 if <WhiteList<T>>::contains_key(collection_id){895 ensure!(<WhiteList<T>>::contains_key(collection_id), mes);
906 let wl = <WhiteList<T>>::get(collection_id);896 let wl = <WhiteList<T>>::get(collection_id);
907 if !wl.contains(&address.clone()) {897 ensure!(wl.contains(&address.clone()), mes);
908 panic!(mes);898
909 }
910 }
911 else {
912 panic!(mes);
913 }
914 Ok(())899 Ok(())
915 }900 }
916901