wallet2: reinstate the single preferred output selection
Removing it nullified the min-outputs-{count,value} system, and will not increase the number of attempted transactions in the general case.
This commit is contained in:
parent
f51bac990e
commit
aaae94f00b
|
@ -4827,7 +4827,19 @@ std::vector<size_t> wallet2::pick_preferred_rct_inputs(uint64_t needed_money, ui
|
||||||
|
|
||||||
LOG_PRINT_L2("pick_preferred_rct_inputs: needed_money " << print_money(needed_money));
|
LOG_PRINT_L2("pick_preferred_rct_inputs: needed_money " << print_money(needed_money));
|
||||||
|
|
||||||
// try to find two outputs
|
// try to find a rct input of enough size
|
||||||
|
for (size_t i = 0; i < m_transfers.size(); ++i)
|
||||||
|
{
|
||||||
|
const transfer_details& td = m_transfers[i];
|
||||||
|
if (!td.m_spent && td.is_rct() && td.amount() >= needed_money && is_transfer_unlocked(td) && td.m_subaddr_index.major == subaddr_account && subaddr_indices.count(td.m_subaddr_index.minor) == 1)
|
||||||
|
{
|
||||||
|
LOG_PRINT_L2("We can use " << i << " alone: " << print_money(td.amount()));
|
||||||
|
picks.push_back(i);
|
||||||
|
return picks;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// then try to find two outputs
|
||||||
// this could be made better by picking one of the outputs to be a small one, since those
|
// this could be made better by picking one of the outputs to be a small one, since those
|
||||||
// are less useful since often below the needed money, so if one can be used in a pair,
|
// are less useful since often below the needed money, so if one can be used in a pair,
|
||||||
// it gets rid of it for the future
|
// it gets rid of it for the future
|
||||||
|
|
Loading…
Reference in New Issue