| 926 | } |
| 927 | |
| 928 | std::tuple<size_t, size_t, CAmount> CTxMemPool::CalculateDescendantData(const CTxMemPoolEntry& entry) const |
| 929 | { |
| 930 | auto descendants = m_txgraph->GetDescendants(entry, TxGraph::Level::MAIN); |
| 931 | size_t descendant_count = descendants.size(); |
| 932 | size_t descendant_size = 0; |
| 933 | CAmount descendant_fees = 0; |
| 934 | |
| 935 | for (auto tx: descendants) { |
| 936 | const CTxMemPoolEntry &desc = static_cast<const CTxMemPoolEntry&>(*tx); |
| 937 | descendant_size += desc.GetTxSize(); |
| 938 | descendant_fees += desc.GetModifiedFee(); |
| 939 | } |
| 940 | return {descendant_count, descendant_size, descendant_fees}; |
| 941 | } |
| 942 | |
| 943 | void CTxMemPool::GetTransactionAncestry(const Txid& txid, size_t& ancestors, size_t& cluster_count, size_t* const ancestorsize, CAmount* const ancestorfees) const { |
| 944 | LOCK(cs); |