URI: 
       twallet: simplify get_history - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 777095fda8c7c5f27d119778fefc28de294e538d
   DIR parent f125a06453ddba01666b2af4a6cee20b77dd1ab1
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Sun, 18 Oct 2020 22:14:52 +0200
       
       wallet: simplify get_history
       
       some years ago wallet.get_tx_delta returned Optional[int] but it returns int now
       
       Diffstat:
         M electrum/address_synchronizer.py    |      21 +++++++--------------
       
       1 file changed, 7 insertions(+), 14 deletions(-)
       ---
   DIR diff --git a/electrum/address_synchronizer.py b/electrum/address_synchronizer.py
       t@@ -52,9 +52,9 @@ TX_HEIGHT_UNCONFIRMED = 0
        class HistoryItem(NamedTuple):
            txid: str
            tx_mined_status: TxMinedInfo
       -    delta: Optional[int]
       +    delta: int
            fee: Optional[int]
       -    balance: Optional[int]
       +    balance: int
        
        
        class TxWalletDelta(NamedTuple):
       t@@ -476,15 +476,11 @@ class AddressSynchronizer(Logger):
                domain = set(domain)
                # 1. Get the history of each address in the domain, maintain the
                #    delta of a tx as the sum of its deltas on domain addresses
       -        tx_deltas = defaultdict(int)  # type: Dict[str, Optional[int]]
       +        tx_deltas = defaultdict(int)  # type: Dict[str, int]
                for addr in domain:
                    h = self.get_address_history(addr)
                    for tx_hash, height in h:
       -                delta = self.get_tx_delta(tx_hash, addr)
       -                if delta is None or tx_deltas[tx_hash] is None:
       -                    tx_deltas[tx_hash] = None
       -                else:
       -                    tx_deltas[tx_hash] += delta
       +                tx_deltas[tx_hash] += self.get_tx_delta(tx_hash, addr)
                # 2. create sorted history
                history = []
                for tx_hash in tx_deltas:
       t@@ -503,13 +499,10 @@ class AddressSynchronizer(Logger):
                                          delta=delta,
                                          fee=fee,
                                          balance=balance))
       -            if balance is None or delta is None:
       -                balance = None
       -            else:
       -                balance -= delta
       +            balance -= delta
                h2.reverse()
                # fixme: this may happen if history is incomplete
       -        if balance not in [None, 0]:
       +        if balance != 0:
                    self.logger.warning("history not synchronized")
                    return []
        
       t@@ -657,7 +650,7 @@ class AddressSynchronizer(Logger):
                    return 0, 0
        
            @with_transaction_lock
       -    def get_tx_delta(self, tx_hash, address):
       +    def get_tx_delta(self, tx_hash: str, address: str) -> int:
                """effect of tx on address"""
                delta = 0
                # subtract the value of coins sent from address