mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 06:58:57 +01:00
Return SelectionResult from SelectCoinsSRD
Changes SelectCoinsSRD to return a SelectionResult.
This commit is contained in:
@@ -166,10 +166,9 @@ std::optional<SelectionResult> SelectCoinsBnB(std::vector<OutputGroup>& utxo_poo
|
||||
return result;
|
||||
}
|
||||
|
||||
std::optional<std::pair<std::set<CInputCoin>, CAmount>> SelectCoinsSRD(const std::vector<OutputGroup>& utxo_pool, CAmount target_value)
|
||||
std::optional<SelectionResult> SelectCoinsSRD(const std::vector<OutputGroup>& utxo_pool, CAmount target_value)
|
||||
{
|
||||
std::set<CInputCoin> out_set;
|
||||
CAmount value_ret = 0;
|
||||
SelectionResult result(target_value);
|
||||
|
||||
std::vector<size_t> indexes;
|
||||
indexes.resize(utxo_pool.size());
|
||||
@@ -181,10 +180,9 @@ std::optional<std::pair<std::set<CInputCoin>, CAmount>> SelectCoinsSRD(const std
|
||||
const OutputGroup& group = utxo_pool.at(i);
|
||||
Assume(group.GetSelectionAmount() > 0);
|
||||
selected_eff_value += group.GetSelectionAmount();
|
||||
value_ret += group.m_value;
|
||||
util::insert(out_set, group.m_outputs);
|
||||
result.AddInput(group);
|
||||
if (selected_eff_value >= target_value) {
|
||||
return std::make_pair(out_set, value_ret);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
return std::nullopt;
|
||||
|
||||
Reference in New Issue
Block a user