From 84e2b3d754763167aec4482fbd77091e9cb0f2b5 Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Fri, 10 Jun 2022 07:36:55 +0000 Subject: [PATCH] CORE-386 Fix PR --- --- a/pallets/common/src/erc.rs +++ b/pallets/common/src/erc.rs @@ -53,7 +53,7 @@ where T::AccountId: From<[u8; 32]>, { - fn set_collection_property(&mut self, caller: caller, key: string, value: bytes) -> Result<()> { + fn set_collection_property(&mut self, caller: caller, key: string, value: bytes) -> Result { let caller = T::CrossAccountId::from_eth(caller); let key = >::from(key) .try_into() @@ -228,8 +228,7 @@ ) .map_err(dispatch_to_evm::)?; - save(self)?; - Ok(()) + save(self) } #[solidity(rename_selector = "setNesting")] @@ -273,19 +272,27 @@ ) .map_err(dispatch_to_evm::)?; - save(self)?; - Ok(()) + save(self) } fn set_collection_access(&mut self, caller: caller, mode: uint8) -> Result { check_is_owner_or_admin(caller, self)?; - self.collection.permissions.access = Some(match mode { - 0 => AccessMode::Normal, - 1 => AccessMode::AllowList, - _ => return Err("Not supported access mode".into()), - }); - save(self)?; - Ok(()) + let permissions = CollectionPermissions{ + access: Some(match mode { + 0 => AccessMode::Normal, + 1 => AccessMode::AllowList, + _ => return Err("Not supported access mode".into()), + }), + .. Default::default() + }; + self.collection.permissions = >::clamp_permissions( + self.collection.mode.clone(), + &self.collection.permissions, + permissions, + ) + .map_err(dispatch_to_evm::)?; + + save(self) } fn add_to_collection_allow_list(&self, caller: caller, user: address) -> Result { @@ -304,9 +311,15 @@ fn set_mint_mode(&mut self, caller: caller, mode: bool) -> Result { check_is_owner_or_admin(caller, self)?; - self.collection.permissions.mint_mode = Some(mode); - save(self)?; - Ok(()) + let permissions = CollectionPermissions { mint_mode: Some(mode), .. Default::default() }; + self.collection.permissions = >::clamp_permissions( + self.collection.mode.clone(), + &self.collection.permissions, + permissions, + ) + .map_err(dispatch_to_evm::)?; + + save(self) } } -- gitstuff