| 2760 | } |
| 2761 | |
| 2762 | std::strong_ordering TxGraphImpl::CompareMainOrder(const Ref& a, const Ref& b) noexcept |
| 2763 | { |
| 2764 | // The references must not be empty. |
| 2765 | Assume(GetRefGraph(a) == this); |
| 2766 | Assume(GetRefGraph(b) == this); |
| 2767 | // Apply dependencies in main. |
| 2768 | ApplyDependencies(0); |
| 2769 | Assume(m_main_clusterset.m_deps_to_add.empty()); |
| 2770 | // Make both involved Clusters acceptable, so chunk feerates are relevant. |
| 2771 | const auto& entry_a = m_entries[GetRefIndex(a)]; |
| 2772 | const auto& entry_b = m_entries[GetRefIndex(b)]; |
| 2773 | const auto& locator_a = entry_a.m_locator[0]; |
| 2774 | const auto& locator_b = entry_b.m_locator[0]; |
| 2775 | Assume(locator_a.IsPresent()); |
| 2776 | Assume(locator_b.IsPresent()); |
| 2777 | MakeAcceptable(*locator_a.cluster, /*level=*/0); |
| 2778 | MakeAcceptable(*locator_b.cluster, /*level=*/0); |
| 2779 | // Invoke comparison logic. |
| 2780 | return CompareMainTransactions(GetRefIndex(a), GetRefIndex(b)); |
| 2781 | } |
| 2782 | |
| 2783 | TxGraph::GraphIndex TxGraphImpl::CountDistinctClusters(std::span<const Ref* const> refs, Level level_select) noexcept |
| 2784 | { |