mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-29 13:32:33 +02:00
doc: Revise comments and whitespace to clarify
This commit is contained in:
parent
def43a4d88
commit
9d2005285c
@ -71,7 +71,8 @@ std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>& utxo_poo
|
||||
// Calculate curr_available_value
|
||||
CAmount curr_available_value = 0;
|
||||
for (const OutputGroup& utxo : utxo_pool) {
|
||||
// Assert that this utxo is not negative. It should never be negative, effective value calculation should have removed it
|
||||
// Assert that this utxo is not negative. It should never be negative,
|
||||
// effective value calculation should have removed it
|
||||
assert(utxo.GetSelectionAmount() > 0);
|
||||
curr_available_value += utxo.GetSelectionAmount();
|
||||
}
|
||||
@ -111,13 +112,12 @@ std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>& utxo_poo
|
||||
backtrack = true;
|
||||
}
|
||||
|
||||
// Backtracking, moving backwards
|
||||
if (backtrack) {
|
||||
if (backtrack) { // Backtracking, moving backwards
|
||||
if (curr_selection.empty()) { // We have walked back to the first utxo and no branch is untraversed. All solutions searched
|
||||
break;
|
||||
}
|
||||
|
||||
// Walk backwards to find the last included UTXO that still needs to have its omission branch traversed.
|
||||
// Add omitted UTXOs back to lookahead before traversing the omission branch of last included UTXO.
|
||||
for (--utxo_pool_index; utxo_pool_index > curr_selection.back(); --utxo_pool_index) {
|
||||
curr_available_value += utxo_pool.at(utxo_pool_index).GetSelectionAmount();
|
||||
}
|
||||
@ -134,11 +134,11 @@ std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>& utxo_poo
|
||||
// Remove this utxo from the curr_available_value utxo amount
|
||||
curr_available_value -= utxo.GetSelectionAmount();
|
||||
|
||||
// Avoid searching a branch if the previous UTXO has the same value and same waste and was excluded. Since the ratio of fee to
|
||||
// long term fee is the same, we only need to check if one of those values match in order to know that the waste is the same.
|
||||
if (curr_selection.empty() ||
|
||||
// The previous index is included and therefore not relevant for exclusion shortcut
|
||||
(utxo_pool_index - 1) == curr_selection.back() ||
|
||||
// Avoid searching a branch if the previous UTXO has the same value and same waste and was excluded.
|
||||
// Since the ratio of fee to long term fee is the same, we only need to check if one of those values match in order to know that the waste is the same.
|
||||
utxo.GetSelectionAmount() != utxo_pool.at(utxo_pool_index - 1).GetSelectionAmount() ||
|
||||
utxo.fee != utxo_pool.at(utxo_pool_index - 1).fee)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user