URI: 
       tmove relayfee and dust_threshold to bitcoin.py - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 791e0e1a67fee73c8d1da7ca4c733a21ce1ea628
   DIR parent 99d18a48f2e22604b8fdfbc236ce5d58e17db0c2
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 25 Oct 2018 23:08:59 +0200
       
       move relayfee and dust_threshold to bitcoin.py
       
       Diffstat:
         M electrum/bitcoin.py                 |      17 ++++++++++++++++-
         M electrum/network.py                 |       2 +-
         M electrum/wallet.py                  |      14 +-------------
       
       3 files changed, 18 insertions(+), 15 deletions(-)
       ---
   DIR diff --git a/electrum/bitcoin.py b/electrum/bitcoin.py
       t@@ -24,7 +24,7 @@
        # SOFTWARE.
        
        import hashlib
       -from typing import List, Tuple
       +from typing import List, Tuple, TYPE_CHECKING
        
        from .util import bfh, bh2u, BitcoinException, assert_bytes, to_bytes, inv_dict
        from . import version
       t@@ -33,6 +33,9 @@ from . import constants
        from . import ecc
        from .crypto import sha256d, sha256, hash_160, hmac_oneshot
        
       +if TYPE_CHECKING:
       +    from .network import Network
       +
        
        ################################## transactions
        
       t@@ -147,6 +150,18 @@ def add_number_to_script(i: int) -> bytes:
            return bfh(push_script(script_num_to_hex(i)))
        
        
       +def relayfee(network: 'Network'=None) -> int:
       +    from .simple_config import FEERATE_DEFAULT_RELAY
       +    MAX_RELAY_FEE = 50000
       +    f = network.relay_fee if network and network.relay_fee else FEERATE_DEFAULT_RELAY
       +    return min(f, MAX_RELAY_FEE)
       +
       +
       +def dust_threshold(network: 'Network'=None) -> int:
       +    # Change <= dust threshold is added to the tx fee
       +    return 182 * 3 * relayfee(network) // 1000
       +
       +
        hash_encode = lambda x: bh2u(x[::-1])
        hash_decode = lambda x: bfh(x)[::-1]
        hmac_sha_512 = lambda x, y: hmac_oneshot(x, y, hashlib.sha512)
   DIR diff --git a/electrum/network.py b/electrum/network.py
       t@@ -201,7 +201,7 @@ class Network(PrintError):
        
                self.banner = ''
                self.donation_address = ''
       -        self.relay_fee = None
       +        self.relay_fee = None  # type: Optional[int]
                # callbacks set by the GUI
                self.callbacks = defaultdict(list)      # note: needs self.callback_lock
        
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -47,7 +47,7 @@ from .util import (NotEnoughFunds, PrintError, UserCancelled, profiler,
                           InvalidPassword, format_time, timestamp_to_datetime, Satoshis,
                           Fiat, bfh, bh2u)
        from .bitcoin import (COIN, TYPE_ADDRESS, is_address, address_to_script,
       -                      is_minikey)
       +                      is_minikey, relayfee, dust_threshold)
        from .version import *
        from .crypto import sha256d
        from .keystore import load_keystore, Hardware_KeyStore
       t@@ -74,18 +74,6 @@ TX_STATUS = [
        ]
        
        
       -
       -def relayfee(network: 'Network'):
       -    from .simple_config import FEERATE_DEFAULT_RELAY
       -    MAX_RELAY_FEE = 50000
       -    f = network.relay_fee if network and network.relay_fee else FEERATE_DEFAULT_RELAY
       -    return min(f, MAX_RELAY_FEE)
       -
       -def dust_threshold(network: 'Network'):
       -    # Change <= dust threshold is added to the tx fee
       -    return 182 * 3 * relayfee(network) / 1000
       -
       -
        def append_utxos_to_inputs(inputs, network: 'Network', pubkey, txin_type, imax):
            if txin_type != 'p2pk':
                address = bitcoin.pubkey_to_address(txin_type, pubkey)