difftreelog
refactor review unwraps
in: master
1 file changed
pallets/nft/src/lib.rsdiffbeforeafterboth423 /// Schema data size limit bound exceeded423 /// Schema data size limit bound exceeded424 SchemaDataLimitExceeded,424 SchemaDataLimitExceeded,425 /// Maximum refungibility exceeded425 /// Maximum refungibility exceeded426 WrongRefungiblePieces426 WrongRefungiblePieces,427 /// createRefungible should be called with one owner428 BadCreateRefungibleCall,427 }429 }428}430}4294311301 }1303 }130213041303 // Reduce approval by transferred amount or remove if remaining approval drops to 01305 // Reduce approval by transferred amount or remove if remaining approval drops to 01304 if approval.checked_sub(value).unwrap_or(0) > 0 {1306 if approval.saturating_sub(value) > 0 {1305 <Allowances<T>>::insert(collection_id, (item_id, &from, &sender), approval - value);1307 <Allowances<T>>::insert(collection_id, (item_id, &from, &sender), approval - value);1306 }1308 }1307 else {1309 else {1863 .ok_or(Error::<T>::NumOverflow)?;1865 .ok_or(Error::<T>::NumOverflow)?;1864 let itemcopy = item.clone();1866 let itemcopy = item.clone();186518671868 ensure!(1869 item.owner.len() == 1,1870 Error::<T>::BadCreateRefungibleCall,1871 );1866 let value = item.owner.first().unwrap().fraction;1872 let item_owner = item.owner.first().expect("only one owner is defined");18731874 let value = item_owner.fraction;1867 let owner = item.owner.first().unwrap().owner.clone();1875 let owner = item_owner.owner.clone();186818761869 Self::add_token_index(collection_id, current_index, &owner)?;1877 Self::add_token_index(collection_id, current_index, &owner)?;187018781915 let rft_balance = token1923 let rft_balance = token1916 .owner1924 .owner1917 .iter()1925 .iter()1918 .filter(|&i| i.owner == *owner)1926 .find(|&i| i.owner == *owner)1919 .next()1927 .ok_or(Error::<T>::TokenNotFound)?;1920 .unwrap();1921 Self::remove_token_index(collection_id, item_id, owner)?;1928 Self::remove_token_index(collection_id, item_id, owner)?;192219291923 // update balance1930 // update balance1931 .owner1938 .owner1932 .iter()1939 .iter()1933 .position(|i| i.owner == *owner)1940 .position(|i| i.owner == *owner)1934 .unwrap();1941 .expect("owned item is exists");1935 token.owner.remove(index);1942 token.owner.remove(index);1936 let owner_count = token.owner.len();1943 let owner_count = token.owner.len();193719442158 .iter()2165 .iter()2159 .filter(|i| i.owner == owner)2166 .filter(|i| i.owner == owner)2160 .next()2167 .next()2161 .ok_or(Error::<T>::NumOverflow)?;2168 .ok_or(Error::<T>::TokenNotFound)?;2162 let amount = item.fraction;2169 let amount = item.fraction;216321702164 ensure!(amount >= value, Error::<T>::TokenValueTooLow);2171 ensure!(amount >= value, Error::<T>::TokenValueTooLow);2186 .owner2193 .owner2187 .iter_mut()2194 .iter_mut()2188 .find(|i| i.owner == owner)2195 .find(|i| i.owner == owner)2189 .unwrap()2196 .expect("old owner does present in refungible")2190 .owner = new_owner.clone();2197 .owner = new_owner.clone();2191 <ReFungibleItemList<T>>::insert(collection_id, item_id, new_full_item);2198 <ReFungibleItemList<T>>::insert(collection_id, item_id, new_full_item);219221992198 .owner2205 .owner2199 .iter_mut()2206 .iter_mut()2200 .find(|i| i.owner == owner)2207 .find(|i| i.owner == owner)2201 .unwrap()2208 .expect("old owner does present in refungible")2202 .fraction -= value;2209 .fraction -= value;220322102204 // separate amount2211 // separate amount2208 .owner2215 .owner2209 .iter_mut()2216 .iter_mut()2210 .find(|i| i.owner == new_owner)2217 .find(|i| i.owner == new_owner)2211 .unwrap()2218 .expect("new owner has account")2212 .fraction += value;2219 .fraction += value;2213 } else {2220 } else {2214 // new owner do not have account2221 // new owner do not have account