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)