wallet: add assert to SelectionResult::Merge for safety

This commit is contained in:
S3RK
2022-11-29 19:40:40 -03:00
committed by furszy
parent c4e3b7d6a1
commit 3282fad599
2 changed files with 10 additions and 0 deletions

View File

@@ -452,12 +452,16 @@ void SelectionResult::AddInputs(const std::set<COutput>& inputs, bool subtract_f
void SelectionResult::Merge(const SelectionResult& other)
{
// Obtain the expected selected inputs count after the merge (for now, duplicates are not allowed)
const size_t expected_count = m_selected_inputs.size() + other.m_selected_inputs.size();
m_target += other.m_target;
m_use_effective |= other.m_use_effective;
if (m_algo == SelectionAlgorithm::MANUAL) {
m_algo = other.m_algo;
}
util::insert(m_selected_inputs, other.m_selected_inputs);
assert(m_selected_inputs.size() == expected_count);
}
const std::set<COutput>& SelectionResult::GetInputSet() const