difftreelog
panic marcos removed
in: master
2 files changed
README.mddiffbeforeafterboth109 "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}164158```165```pallets/nft/src/lib.rsdiffbeforeafterboth475 let target_collection = <Collection<T>>::get(collection_id);475 let target_collection = <Collection<T>>::get(collection_id);476476477 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 }481482 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()));628631 if approved_list_exists629 ensure!(approved_list_exists, "Only approved addresses can call this method");632 {630633 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())?;635633642 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 else647 {648 panic!("Only approved addresses can call this method");649 }650643651 let target_collection = <Collection<T>>::get(collection_id);644 let target_collection = <Collection<T>>::get(collection_id);652645872 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());874867875 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 }881871882 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 {903893904 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);898909 }910 }911 else {912 panic!(mes);913 }914 Ok(())899 Ok(())915 }900 }916901