URI: 
       twallet: use get_txin_value in get_wallet_delta - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 8b2eb83238905fdbc781f042b8912ba9d7f45f37
   DIR parent 55b5335ebb2cdfac488203b5048e17a615d08a30
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Fri, 16 Oct 2020 21:10:32 +0200
       
       wallet: use get_txin_value in get_wallet_delta
       
       Diffstat:
         M electrum/address_synchronizer.py    |      19 ++++++++-----------
       
       1 file changed, 8 insertions(+), 11 deletions(-)
       ---
   DIR diff --git a/electrum/address_synchronizer.py b/electrum/address_synchronizer.py
       t@@ -144,11 +144,16 @@ class AddressSynchronizer(Logger):
                    return tx.outputs()[prevout_n].address
                return None
        
       -    def get_txin_value(self, txin: TxInput) -> Optional[int]:
       +    def get_txin_value(self, txin: TxInput, *, address: str = None) -> Optional[int]:
                if txin.value_sats() is not None:
                    return txin.value_sats()
                prevout_hash = txin.prevout.txid.hex()
                prevout_n = txin.prevout.out_idx
       +        if address:
       +            d = self.db.get_txo_addr(prevout_hash, address)
       +            for n, v, cb in d:
       +                if n == txin.prevout.out_idx:
       +                    return v
                tx = self.db.get_transaction(prevout_hash)
                if tx:
                    return tx.outputs()[prevout_n].value
       t@@ -670,7 +675,7 @@ class AddressSynchronizer(Logger):
            def get_wallet_delta(self, tx: Transaction):
                """ effect of tx on wallet """
                is_relevant = False  # "related to wallet?"
       -        is_mine = False
       +        is_mine = False  # "is any input mine?"
                is_pruned = False
                is_partial = False
                v_in = v_out = v_out_mine = 0
       t@@ -679,15 +684,7 @@ class AddressSynchronizer(Logger):
                    if self.is_mine(addr):
                        is_mine = True
                        is_relevant = True
       -                d = self.db.get_txo_addr(txin.prevout.txid.hex(), addr)
       -                for n, v, cb in d:
       -                    if n == txin.prevout.out_idx:
       -                        value = v
       -                        break
       -                else:
       -                    value = None
       -                if value is None:
       -                    value = txin.value_sats()
       +                value = self.get_txin_value(txin, address=addr)
                        if value is None:
                            is_pruned = True
                        else: