From fc02fab15673fff2f4397c7178897a366e8032ce Mon Sep 17 00:00:00 2001 From: Greg Zaitsev Date: Wed, 05 Aug 2020 10:15:06 +0000 Subject: [PATCH] Merge branch 'dev' --- --- a/README.md +++ b/README.md @@ -126,7 +126,6 @@ "Owner": "AccountId", "Mode": "CollectionMode", "Access": "u8", - "NextItemId": "u64", "DecimalPoints": "u32", "Name": "Vec", "Description": "Vec", --- a/pallets/nft/src/lib.rs +++ b/pallets/nft/src/lib.rs @@ -81,7 +81,6 @@ pub owner: AccountId, pub mode: CollectionMode, pub access: AccessMode, - pub next_item_id: u64, pub decimal_points: u32, pub name: Vec, // 64 include null escape char pub description: Vec, // 256 include null escape char @@ -228,7 +227,6 @@ description: description, decimal_points: decimal_points, token_prefix: prefix, - next_item_id: next_id, offchain_schema: Vec::new(), custom_data_size: custom_data_size, sponsor: T::AccountId::default(), @@ -364,9 +362,6 @@ ensure!(target_collection.custom_data_size >= properties.len() as u32, "Size of item is too large"); Self::check_owner_or_admin_permissions(collection_id, sender.clone())?; - - let new_balance = >::get(collection_id, owner.clone()).checked_add(1).unwrap(); - >::insert(collection_id, owner.clone(), new_balance); // TODO: implement other modes match target_collection.mode @@ -593,10 +588,17 @@ .checked_add(1) .expect("Item list index id error"); - Self::add_token_index(item.collection, current_index, item.owner.first().unwrap().owner.clone())?; + let value = item.owner.first().unwrap().fraction as u64; + let owner = item.owner.first().unwrap().owner.clone(); + + Self::add_token_index(item.collection, current_index, owner.clone())?; ::insert(item.collection, current_index); - >::insert(item.collection, current_index, item); + >::insert(item.collection, current_index, item); + + // Update balance + let new_balance = >::get(item.collection, owner.clone()).checked_add(value).unwrap(); + >::insert(item.collection, owner.clone(), new_balance); Ok(()) } @@ -681,6 +683,10 @@ ::insert(item.collection, current_index); >::insert(item.collection, current_index, item); + // Update balance + let new_balance = >::get(item.collection, item.owner.clone()).checked_add(1).unwrap(); + >::insert(item.collection_id, item.owner.clone(), new_balance); + Ok(()) } -- gitstuff