From 211fa9a06219cb0d88e417a54c7fc9edbeaf047b Mon Sep 17 00:00:00 2001 From: SomberNight Date: Sat, 28 Oct 2017 10:02:37 +0200 Subject: [PATCH] txn: set locktime to local height for RBF, CPFP, sweep --- lib/wallet.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/wallet.py b/lib/wallet.py index d1fb1c0e..a9451000 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -920,7 +920,9 @@ class Abstract_Wallet(PrintError): raise BaseException(_('Not enough funds on address.') + '\nTotal: %d satoshis\nFee: %d\nDust Threshold: %d'%(total, fee, self.dust_threshold())) outputs = [(TYPE_ADDRESS, recipient, total - fee)] - tx = Transaction.from_io(inputs, outputs) + locktime = self.get_local_height() + + tx = Transaction.from_io(inputs, outputs, locktime=locktime) tx.set_rbf(True) tx.sign(keypairs) return tx @@ -1061,7 +1063,8 @@ class Abstract_Wallet(PrintError): continue if delta > 0: raise BaseException(_('Cannot bump fee: could not find suitable outputs')) - return Transaction.from_io(inputs, outputs) + locktime = self.get_local_height() + return Transaction.from_io(inputs, outputs, locktime=locktime) def cpfp(self, tx, fee): txid = tx.txid() @@ -1078,7 +1081,8 @@ class Abstract_Wallet(PrintError): self.add_input_info(item) inputs = [item] outputs = [(TYPE_ADDRESS, address, value - fee)] - return Transaction.from_io(inputs, outputs) + locktime = self.get_local_height() + return Transaction.from_io(inputs, outputs, locktime=locktime) def add_input_info(self, txin): address = txin['address']