303- // not ideal, as a wallet will consider e.g. thirty 2-ancestor coins as having two ancestors,
304- // when in reality it has 60 ancestors.
305- m_ancestors = std::max(m_ancestors, ancestors);
306- // m_descendants is the count as seen from the top ancestor, not the descendants as seen from the
307- // coin itself; thus, this value is accurate
308+ // ancestors here express the number of ancestors the new coin will end up having, which is
Perhaps you could update the comment to explain that this calculation will generally be overestimating the number of ancestors of a group (eg when two coins share a common ancestor)? Otherwise a future reader might be confused about the correctness of this calculation.