commit 6424163d4bad3de72733849db797d10f11b47479
parent 5f71163449cc1a484dad2ae3ac5fd3841ea32789
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:
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git a/electrum/wallet.py b/electrum/wallet.py
@@ -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)