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
109 "enable_println": "bool",109 "enable_println": "bool",
110 "max_subject_len": "u32"110 "max_subject_len": "u32"
111 },111 },
112 "AccessMode": {
113 "_enum": [
114 "Normal",
115 "WhiteList"
116 ]
117 },
112 "CollectionMode": {118 "CollectionMode": {
113 "_enum": {119 "_enum": {
114 "Invalid": null,120 "Invalid": null,
139 "CollectionType": {145 "CollectionType": {
140 "Owner": "AccountId",146 "Owner": "AccountId",
141 "Mode": "CollectionMode",147 "Mode": "CollectionMode",
142 "Access": "u8",148 "Access": "AccessMode",
143 "DecimalPoints": "u32",149 "DecimalPoints": "u32",
144 "Name": "Vec<u16>",150 "Name": "Vec<u16>",
145 "Description": "Vec<u16>",151 "Description": "Vec<u16>",
155 "LookupSource": "AccountId",161 "LookupSource": "AccountId",
156 "Weight": "u64"162 "Weight": "u64"
157}163}
164
158```165```
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