--- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -177,6 +177,15 @@ .checked_add(1) .ok_or(ArithmeticError::Overflow)?; + let balance = >::get((collection.id, sender)) + .checked_sub(1) + .ok_or(ArithmeticError::Overflow)?; + + if balance == 0 { + >::remove((collection.id, sender)); + } else { + >::insert((collection.id, sender), balance); + } // ========= >::remove((collection.id, &token_data.owner, token));