Browse Source

Merge #860: taker: Fix change validation logic

43cc960 taker: Account for off-by-one errors caused by rounding (csH7KmCC9)
b4ca42d taker: Fix change validation logic (csH7KmCC9)
master
Adam Gibson 5 years ago
parent
commit
97a1559dbb
No known key found for this signature in database
GPG Key ID: 141001A1AF77F20B
  1. 6
      jmclient/jmclient/taker.py

6
jmclient/jmclient/taker.py

@ -485,12 +485,12 @@ class Taker(object):
#we have tried to avoid this based on over-estimating the needed amount
#in SendPayment.create_tx(), but it is still a possibility if one maker
#uses a *lot* of inputs.
if self.my_change_addr and my_change_value <= 0:
if self.my_change_addr:
if my_change_value < -1:
raise ValueError("Calculated transaction fee of: " +
btc.amount_to_str(self.total_txfee) +
" is too large for our inputs; Please try again.")
elif self.my_change_addr and my_change_value <= jm_single(
).BITCOIN_DUST_THRESHOLD:
if my_change_value <= jm_single().BITCOIN_DUST_THRESHOLD:
jlog.info("Dynamically calculated change lower than dust: " +
btc.amount_to_str(my_change_value) + "; dropping.")
self.my_change_addr = None

Loading…
Cancel
Save