twallet: fix rbf_batching edge case - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 6424163d4bad3de72733849db797d10f11b47479 DIR parent 5f71163449cc1a484dad2ae3ac5fd3841ea32789 HTML Author: SomberNight <somber.night@protonmail.com> Date: Thu, 20 Jun 2019 21:53:24 +0200 wallet: fix rbf_batching edge case The old change output was given to coinchooser as part of possible UTXOs to use. (Though the coinchooser was really unlikely to select it, as by definition that UTXO is unconfirmed) Diffstat: M electrum/wallet.py | 2 ++ 1 file changed, 2 insertions(+), 0 deletions(-) --- DIR diff --git a/electrum/wallet.py b/electrum/wallet.py t@@ -732,6 +732,8 @@ class Abstract_Wallet(AddressSynchronizer): # If there is an unconfirmed RBF tx, merge with it base_tx = self.get_unconfirmed_base_tx_for_batching() if config.get('batch_rbf', False) and base_tx: + # make sure we don't try to spend change from the tx-to-be-replaced: + coins = [c for c in coins if c['prevout_hash'] != base_tx.txid()] is_local = self.get_tx_height(base_tx.txid()).height == TX_HEIGHT_LOCAL base_tx = Transaction(base_tx.serialize()) base_tx.deserialize(force_full_parse=True)