difftreelog
cargo fmt
in: master
1 file changed
pallets/nonfungible/src/property_guard.rsdiffbeforeafterboth1use super::*;23pub struct PropertyGuard<'a, T: Config> {4 pub sender: &'a T::CrossAccountId,5 pub collection: &'a NonfungibleHandle<T>,6 pub token: TokenId,7 pub is_token_create: bool,8 budget: &'a dyn Budget,910 collection_admin_result: Option<DispatchResult>,11 token_owner_result: Option<DispatchResult>,12}1314impl<'a, T: Config> PropertyGuard<'a, T> {15 pub fn new(16 sender: &'a T::CrossAccountId,17 collection: &'a NonfungibleHandle<T>,18 token: TokenId,19 is_token_create: bool,20 budget: &'a dyn Budget,21 ) -> Self {22 Self {23 sender,24 collection,25 token,26 is_token_create,27 budget,2829 collection_admin_result: None,30 token_owner_result: None,31 }32 }3334 pub fn check_collection_admin(&mut self) -> DispatchResult {35 *self.collection_admin_result.get_or_insert_with(|| {36 self.collection.check_is_owner_or_admin(self.sender)37 })38 }3940 pub fn check_token_owner(&mut self) -> DispatchResult {41 *self.token_owner_result.get_or_insert_with(|| {42 let is_owned = <PalletStructure<T>>::check_indirectly_owned(43 self.sender.clone(),44 self.collection.id,45 self.token,46 None,47 self.budget,48 )?;4950 if is_owned {51 Ok(())52 } else {53 Err(<CommonError<T>>::NoPermission.into())54 }55 })56 }57}1use super::*;23pub struct PropertyGuard<'a, T: Config> {4 pub sender: &'a T::CrossAccountId,5 pub collection: &'a NonfungibleHandle<T>,6 pub token: TokenId,7 pub is_token_create: bool,8 budget: &'a dyn Budget,910 collection_admin_result: Option<DispatchResult>,11 token_owner_result: Option<DispatchResult>,12}1314impl<'a, T: Config> PropertyGuard<'a, T> {15 pub fn new(16 sender: &'a T::CrossAccountId,17 collection: &'a NonfungibleHandle<T>,18 token: TokenId,19 is_token_create: bool,20 budget: &'a dyn Budget,21 ) -> Self {22 Self {23 sender,24 collection,25 token,26 is_token_create,27 budget,2829 collection_admin_result: None,30 token_owner_result: None,31 }32 }3334 pub fn check_collection_admin(&mut self) -> DispatchResult {35 *self36 .collection_admin_result37 .get_or_insert_with(|| self.collection.check_is_owner_or_admin(self.sender))38 }3940 pub fn check_token_owner(&mut self) -> DispatchResult {41 *self.token_owner_result.get_or_insert_with(|| {42 let is_owned = <PalletStructure<T>>::check_indirectly_owned(43 self.sender.clone(),44 self.collection.id,45 self.token,46 None,47 self.budget,48 )?;4950 if is_owned {51 Ok(())52 } else {53 Err(<CommonError<T>>::NoPermission.into())54 }55 })56 }57}