diff options
author | Steven Roose <steven@stevenroose.org> | 2019-05-23 15:40:16 +0100 |
---|---|---|
committer | Steven Roose <steven@stevenroose.org> | 2019-05-23 16:18:23 +0100 |
commit | bb41e632ca94bea9b9a39592803f8faafbaa25f2 (patch) | |
tree | f96c6366d65ca60c17f24ece94a42a44b04fc669 /test/functional | |
parent | 12fd4bbd1ed928e3ce2f6ce2118bbaec07898bac (diff) |
wallet_balance.py: Prevent edge cases
Diffstat (limited to 'test/functional')
-rwxr-xr-x | test/functional/wallet_balance.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/test/functional/wallet_balance.py b/test/functional/wallet_balance.py index 4d1f1ccdc1..15f2195e21 100755 --- a/test/functional/wallet_balance.py +++ b/test/functional/wallet_balance.py @@ -28,12 +28,17 @@ def create_transactions(node, address, amt, fees): for utxo in utxos: inputs.append({"txid": utxo["txid"], "vout": utxo["vout"]}) ins_total += utxo['amount'] - if ins_total + max(fees) > amt: + if ins_total >= amt + max(fees): break + # make sure there was enough utxos + assert ins_total >= amt + max(fees) txs = [] for fee in fees: - outputs = {address: amt, node.getrawchangeaddress(): ins_total - amt - fee} + outputs = {address: amt} + # prevent 0 change output + if ins_total > amt + fee: + outputs[node.getrawchangeaddress()] = ins_total - amt - fee raw_tx = node.createrawtransaction(inputs, outputs, 0, True) raw_tx = node.signrawtransactionwithwallet(raw_tx) assert_equal(raw_tx['complete'], True) |