Bitcoin Core  22.99.0
P2P Digital Currency
Namespaces | Functions | Variables
coinselection.cpp File Reference
#include <wallet/coinselection.h>
#include <consensus/amount.h>
#include <policy/feerate.h>
#include <util/check.h>
#include <util/system.h>
#include <util/moneystr.h>
#include <numeric>
#include <optional>
Include dependency graph for coinselection.cpp:

Go to the source code of this file.

Namespaces

 wallet
 

Functions

std::optional< SelectionResult > wallet::SelectCoinsBnB (std::vector< OutputGroup > &utxo_pool, const CAmount &selection_target, const CAmount &cost_of_change)
 
std::optional< SelectionResult > wallet::SelectCoinsSRD (const std::vector< OutputGroup > &utxo_pool, CAmount target_value)
 Select coins by Single Random Draw. More...
 
static void wallet::ApproximateBestSubset (const std::vector< OutputGroup > &groups, const CAmount &nTotalLower, const CAmount &nTargetValue, std::vector< char > &vfBest, CAmount &nBest, int iterations=1000)
 
std::optional< SelectionResult > wallet::KnapsackSolver (std::vector< OutputGroup > &groups, const CAmount &nTargetValue)
 
CAmount wallet::GetSelectionWaste (const std::set< CInputCoin > &inputs, CAmount change_cost, CAmount target, bool use_effective_value=true)
 Compute the waste for this result given the cost of change and the opportunity cost of spending these inputs now vs in the future. More...
 

Variables

struct {
wallet::descending
 
static const size_t wallet::TOTAL_TRIES = 100000