commit a6a003a345e2fc2e8de709190a4a6d0ecd531c64 parent 2ab8234e9c08b5d35f6bf8d07ba587975cf86e53 Author: SomberNight <somber.night@protonmail.com> Date: Fri, 9 Nov 2018 22:47:41 +0100 RBF batching: fix logic bug Diffstat:
M | electrum/wallet.py | | | 7 | ++++--- |
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git 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