URI: 
       tfix #4253 - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 3bf5afa61a8be467ecfb4a4fad22d8e678302126
   DIR parent 426ab85ed65abd63d546666b28bdf6d28325b4f7
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 12 Apr 2018 12:17:24 +0200
       
       fix #4253
       
       Diffstat:
         M gui/kivy/uix/dialogs/bump_fee_dial… |       6 +-----
         M gui/kivy/uix/dialogs/fee_dialog.py  |       1 -
         M lib/simple_config.py                |      14 ++++++++++----
       
       3 files changed, 11 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/gui/kivy/uix/dialogs/bump_fee_dialog.py b/gui/kivy/uix/dialogs/bump_fee_dialog.py
       t@@ -76,7 +76,7 @@ class BumpFeeDialog(Factory.Popup):
                self.callback = callback
                self.config = app.electrum_config
                self.mempool = self.config.use_mempool_fees()
       -        self.dynfees = self.config.is_dynfee() and self.app.network and self.config.has_dynamic_fees_ready()
       +        self.dynfees = self.config.is_dynfee() and bool(self.app.network) and self.config.has_dynamic_fees_ready()
                self.ids.old_fee.value = self.app.format_amount_and_units(self.init_fee)
                self.update_slider()
                self.update_text()
       t@@ -116,7 +116,3 @@ class BumpFeeDialog(Factory.Popup):
        
            def on_slider(self, value):
                self.update_text()
       -
       -    def on_checkbox(self, b):
       -        self.dynfees = b
       -        self.update_text()
   DIR diff --git a/gui/kivy/uix/dialogs/fee_dialog.py b/gui/kivy/uix/dialogs/fee_dialog.py
       t@@ -74,7 +74,6 @@ class FeeDialog(Factory.Popup):
                Factory.Popup.__init__(self)
                self.app = app
                self.config = config
       -        self.fee_rate = self.config.fee_per_kb()
                self.callback = callback
                mempool = self.config.use_mempool_fees()
                dynfees = self.config.is_dynfee()
   DIR diff --git a/lib/simple_config.py b/lib/simple_config.py
       t@@ -407,7 +407,7 @@ class SimpleConfig(PrintError):
                        maxp = len(FEE_ETA_TARGETS)  # not (-1) to have "next block"
                        fee_rate = self.eta_to_fee(pos)
                else:
       -            fee_rate = self.fee_per_kb()
       +            fee_rate = self.fee_per_kb(dyn=False)
                    pos = self.static_fee_index(fee_rate)
                    maxp = 9
                return maxp, pos, fee_rate
       t@@ -416,6 +416,8 @@ class SimpleConfig(PrintError):
                return FEERATE_STATIC_VALUES[i]
        
            def static_fee_index(self, value):
       +        if value is None:
       +            raise TypeError('static fee cannot be None')
                dist = list(map(lambda x: abs(x - value), FEERATE_STATIC_VALUES))
                return min(range(len(dist)), key=dist.__getitem__)
        
       t@@ -437,12 +439,16 @@ class SimpleConfig(PrintError):
            def use_mempool_fees(self):
                return bool(self.get('mempool_fees', False))
        
       -    def fee_per_kb(self):
       +    def fee_per_kb(self, dyn=None, mempool=None):
                """Returns sat/kvB fee to pay for a txn.
                Note: might return None.
                """
       -        if self.is_dynfee():
       -            if self.use_mempool_fees():
       +        if dyn is None:
       +            dyn = self.is_dynfee()
       +        if mempool is None:
       +            mempool = self.use_mempool_fees()
       +        if dyn:
       +            if mempool:
                        fee_rate = self.depth_to_fee(self.get_depth_level())
                    else:
                        fee_rate = self.eta_to_fee(self.get_fee_level())