From 71fab1a07c3e985fb60a17380807a052cd28c32a Mon Sep 17 00:00:00 2001 From: str-mv Date: Thu, 30 Jul 2020 11:19:02 +0000 Subject: [PATCH] Transfer fix --- --- a/pallets/nft/src/lib.rs +++ b/pallets/nft/src/lib.rs @@ -281,8 +281,8 @@ Self::check_owner_or_admin_permissions(collection_id, sender.clone())?; - let new_balance = >::get(collection_id, sender.clone()) + 1; - >::insert(collection_id, sender.clone(), new_balance); + let new_balance = >::get(collection_id, owner.clone()) + 1; + >::insert(collection_id, owner.clone(), new_balance); // TODO: implement other modes ensure!(target_collection.mode == CollectionMode::NFT, "Collection type not implemented"); @@ -322,7 +322,11 @@ pub fn transfer(origin, recipient: T::AccountId, collection_id: u64, item_id: u64, value: u64) -> DispatchResult { let sender = ensure_signed(origin)?; - Self::check_owner_or_admin_permissions(collection_id, sender)?; + let item_owner = Self::is_item_owner(sender.clone(), collection_id, item_id); + if !item_owner + { + Self::check_owner_or_admin_permissions(collection_id, sender.clone())?; + } let target_collection = >::get(collection_id); -- gitstuff