cluster_linearize::SpanningForestState::GetLinearization

Construct a topologically-valid linearization from the current forest state. Must be topological. fallback_order is a comparator that defines a strong order for DepGraphIndexes in this cluster, used to order equal-feerate transactions and chunks.

Synopsis

Declared in <cluster_linearize.h>

std::vector<DepGraphIndex>
GetLinearization(auto const& fallback_order) noexcept;

Description

Specifically, the resulting order consists of:

  • The chunks of the current SFL state, sorted by (in decreasing order of priority):

  • topology (parents before children)

  • highest chunk feerate first

  • smallest chunk size first

  • the chunk with the lowest maximum transaction, by fallback_order, first

  • The transactions within a chunk, sorted by (in decreasing order of priority):

  • topology (parents before children)

  • highest tx feerate first

  • smallest tx size first

  • the lowest transaction, by fallback_order, first

Return Value

A topologically-valid linearization of all transactions.

Parameters

NameDescription
fallback_orderComparator breaking ties between equal-feerate transactions and chunks.