HomePhabricator

Have SelectCoinsMinConf and SelectCoins use BnB or Knapsack and use it

Description

Have SelectCoinsMinConf and SelectCoins use BnB or Knapsack and use it

Summary:
Allows SelectCoinsMinConf and SelectCoins be able to switch between
using BnB or Knapsack for choosing coins.

Has SelectCoinsMinConf do the preprocessing necessary to support either
BnB or Knapsack. This includes calculating the filtering the effective
values for each input.

Uses BnB in CreateTransaction to find an exact match for the output.
If BnB fails, it will fallback to the Knapsack solver.

This is a parital backport of Core PR10637 : https://github.com/bitcoin/bitcoin/pull/10637/commits/6a34ff5335786615771ca423134a484b04831c4e

Depends on D3297, D3296, D3291, D3251, D3243 and D3290

Test Plan:

make check

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D3301

Details

Provenance
Andrew Chow <achow101-github@achow101.com>Authored on Mar 5 2018, 21:42
deadalnixCommitted on Jun 18 2019, 12:18
deadalnixPushed on Jun 18 2019, 12:18
Reviewer
Restricted Project
Differential Revision
D3301: Have SelectCoinsMinConf and SelectCoins use BnB or Knapsack and use it
Parents
rABC0d8923573d99: tests: Avoid copies of CTransaction
Branches
Unknown
Tags
Unknown