aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAlex Morcos <morcos@chaincode.com>2017-06-30 13:16:53 -0400
committerAlex Morcos <morcos@chaincode.com>2017-07-11 12:20:41 -0400
commit0f402b9263b0579b29aa0f841fc64ad58d3efba6 (patch)
treee81471d049bb641e3d4dd6700b028c48269225ca /test
parent253cd7ec4fc9324d2c2c3bc6f32794ded2455eb7 (diff)
downloadbitcoin-0f402b9263b0579b29aa0f841fc64ad58d3efba6.tar.xz
Fix rare edge case of paying too many fees when transaction has no change.
Due to the iterative process of selecting new coins in each loop a new fee is calculated that needs to be met each time. In the typical case if the most recent iteration of the loop produced a much smaller transaction and we have now gathered inputs with too many fees, we can just reduce the change. However in the case where there is no change output, it is possible to end up with a transaction which drastically overpays fees. This commit addresses that case, by creating a change output if the overpayment is large enough to support it, this is accomplished by rerunning the transaction creation loop without selecting new coins. Thanks to instagibbs for working on this as well
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions