mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
Merge bitcoin/bitcoin#23762: wallet: Replace Assume with Assert where needed in coinselection
fa26c55644
wallet: Replace Assume with Assert where needed in coinselection (MarcoFalke) Pull request description: `Assume` should only be used when a failed check is recoverable. The checks here don't recover and would run into UB, so use `Assert` instead. ACKs for top commit: theStack: Code-review ACKfa26c55644
Tree-SHA512: 0cf9435f9ec44794022ce0274cba602aec95102ab73f4c8a93dae54ef4c0a594f6a81640477039719ddfb6f23b05f8ece3e4886ef7f8a725efff45685ac49d92
This commit is contained in:
commit
ab879d9885
@ -390,8 +390,7 @@ void SelectionResult::ComputeAndSetWaste(CAmount change_cost)
|
||||
|
||||
CAmount SelectionResult::GetWaste() const
|
||||
{
|
||||
Assume(m_waste != std::nullopt);
|
||||
return *m_waste;
|
||||
return *Assert(m_waste);
|
||||
}
|
||||
|
||||
CAmount SelectionResult::GetSelectedValue() const
|
||||
@ -425,8 +424,8 @@ std::vector<CInputCoin> SelectionResult::GetShuffledInputVector() const
|
||||
|
||||
bool SelectionResult::operator<(SelectionResult other) const
|
||||
{
|
||||
Assume(m_waste != std::nullopt);
|
||||
Assume(other.m_waste != std::nullopt);
|
||||
Assert(m_waste.has_value());
|
||||
Assert(other.m_waste.has_value());
|
||||
// As this operator is only used in std::min_element, we want the result that has more inputs when waste are equal.
|
||||
return *m_waste < *other.m_waste || (*m_waste == *other.m_waste && m_selected_inputs.size() > other.m_selected_inputs.size());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user