Merge #11145: Fix rounding bug in calculation of minimum change
commit9c833f471c14a4438515b6318dbbc5370e8ef7a0
authorWladimir J. van der Laan <laanwj@gmail.com>
Mon, 28 Aug 2017 08:05:20 +0000 (28 10:05 +0200)
committerWladimir J. van der Laan <laanwj@gmail.com>
Mon, 28 Aug 2017 08:06:00 +0000 (28 10:06 +0200)
treeea318517e74ab984cc696a991570ef8e002b780a
parent745bbdc189b29cd42eb93b9b00fb2cf7ab6f49b5
parent6af49dddeaeec7f134e86d6f8cf839c55870b7ab
Merge #11145: Fix rounding bug in calculation of minimum change

6af49dd Output a bit more information for fee calculation report. (Alex Morcos)
a54c7b9 Fix rounding errors in calculation of minimum change size (Alex Morcos)

Pull request description:

  Thanks to @juscamarena for reporting this.

  Please backport to 0.15.

  There was a potential rounding error where the fee for the change added to the fee for the original tx could be less than the fee for the tx including change.

  This is fixed in the first commit.  The second commit adds one more snippet of information in the fee calculation report.  I actually realized that there is more information that would be nice to report, but we can add that post 0.15.

  An open question is whether we should be returning failure if the test in line 2885 is hit or just resetting pick_new_inputs and continuing.  Originally I made it a failure to avoid any possible infinite loops.  But the case hit here is an example of where that logic possibly backfired.

Tree-SHA512: efe049781acc1f6a8ad429a689359ac6f7b7c44cdfc9578a866dff4a2f6596e8de474a89d25c704f31ef4f8c89af770e98b75ef06c25419d5a6dfc87247bf274
src/wallet/wallet.cpp