diff options
author | Alex Morcos <morcos@chaincode.com> | 2017-06-30 13:16:53 -0400 |
---|---|---|
committer | Alex Morcos <morcos@chaincode.com> | 2017-07-11 12:20:41 -0400 |
commit | 0f402b9263b0579b29aa0f841fc64ad58d3efba6 (patch) | |
tree | e81471d049bb641e3d4dd6700b028c48269225ca /src/netaddress.h | |
parent | 253cd7ec4fc9324d2c2c3bc6f32794ded2455eb7 (diff) |
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 'src/netaddress.h')
0 files changed, 0 insertions, 0 deletions