From a6a003a345e2fc2e8de709190a4a6d0ecd531c64 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Fri, 9 Nov 2018 22:47:41 +0100 Subject: [PATCH] RBF batching: fix logic bug --- electrum/wallet.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/electrum/wallet.py b/electrum/wallet.py index ca9af202c..a60eedce7 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -547,9 +547,10 @@ class Abstract_Wallet(AddressSynchronizer): if not tx: continue # is_mine outputs should not be spent yet # to avoid cancelling our own dependent transactions - for output_idx, o in enumerate(tx.outputs()): - if self.is_mine(o.address) and self.spent_outpoints[tx.txid()].get(output_idx): - continue + txid = tx.txid() + if any([self.is_mine(o.address) and self.spent_outpoints[txid].get(output_idx) + for output_idx, o in enumerate(tx.outputs())]): + continue # all inputs should be is_mine if not all([self.is_mine(self.get_txin_address(txin)) for txin in tx.inputs()]): continue