URI: 
       tuse maxint-2 to signal RBF, in order to standardize with Bitcoin Core - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 2d8df85aab780f6ceecf64701ae41c836fca4052
   DIR parent a2fcb2ba8f92f899b959e56dec4242cb2cbd4d66
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Mon, 13 Mar 2017 11:02:25 +0100
       
       use maxint-2 to signal RBF, in order to standardize with Bitcoin Core
       
       Diffstat:
         M gui/kivy/uix/dialogs/tx_dialog.py   |       2 +-
         M gui/kivy/uix/screens.py             |       2 +-
         M gui/qt/main_window.py               |       6 +++---
         M lib/commands.py                     |       2 +-
         M lib/transaction.py                  |       5 +++--
       
       5 files changed, 9 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/gui/kivy/uix/dialogs/tx_dialog.py b/gui/kivy/uix/dialogs/tx_dialog.py
       t@@ -148,7 +148,7 @@ class TxDialog(Factory.Popup):
                    self.app.show_error(str(e))
                    return
                if is_final:
       -            new_tx.set_sequence(0xffffffff)
       +            new_tx.set_rbf(False)
                self.tx = new_tx
                self.update()
                self.do_sign()
   DIR diff --git a/gui/kivy/uix/screens.py b/gui/kivy/uix/screens.py
       t@@ -284,7 +284,7 @@ class SendScreen(CScreen):
                    self.app.show_error(str(e))
                    return
                if rbf:
       -            tx.set_sequence(0)
       +            tx.set_rbf(True)
                fee = tx.get_fee()
                msg = [
                    _("Amount to be sent") + ": " + self.app.format_amount_and_units(amount),
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -1306,7 +1306,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
        
                use_rbf = self.rbf_checkbox.isChecked()
                if use_rbf:
       -            tx.set_sequence(0)
       +            tx.set_rbf(True)
        
                if fee < self.wallet.relayfee() * tx.estimated_size() / 1000 and tx.requires_fee(self.wallet):
                    self.show_error(_("This transaction requires a higher fee, or it will not be propagated by the network"))
       t@@ -2823,7 +2823,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                    self.show_error(_('Max fee exceeded'))
                    return
                new_tx = self.wallet.cpfp(parent_tx, fee)
       -        new_tx.set_sequence(0)
       +        new_tx.set_rbf(True)
                self.show_transaction(new_tx)
        
            def bump_fee_dialog(self, tx):
       t@@ -2860,5 +2860,5 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                    self.show_error(str(e))
                    return
                if is_final:
       -            new_tx.set_sequence(0xffffffff)
       +            new_tx.set_rbf(False)
                self.show_transaction(new_tx)
   DIR diff --git a/lib/commands.py b/lib/commands.py
       t@@ -414,7 +414,7 @@ class Commands:
                coins = self.wallet.get_spendable_coins(domain)
                tx = self.wallet.make_unsigned_transaction(coins, final_outputs, self.config, fee, change_addr)
                if rbf:
       -            tx.set_sequence(0)
       +            tx.set_rbf(True)
                if not unsigned:
                    self.wallet.sign_transaction(tx, self._password)
                return tx
   DIR diff --git a/lib/transaction.py b/lib/transaction.py
       t@@ -681,9 +681,10 @@ class Transaction:
                s += int_to_hex(txin.get('sequence', 0xffffffff), 4)
                return s
        
       -    def set_sequence(self, n):
       +    def set_rbf(self, rbf):
       +        nSequence = 0xffffffff - (2 if rbf else 0)
                for txin in self.inputs():
       -            txin['sequence'] = n
       +            txin['sequence'] = nSequence
        
            def BIP_LI01_sort(self):
                # See https://github.com/kristovatlas/rfc/blob/master/bips/bip-li01.mediawiki