URI: 
       twallet: (trivial) use kwargs for get_tx_item_fiat - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 8de52bf523bff8280de02e8015d31ccd525f3c0e
   DIR parent 3c019c2f9c4d2fdefe52d84444632b54d421e140
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue,  9 Mar 2021 18:22:30 +0100
       
       wallet: (trivial) use kwargs for get_tx_item_fiat
       
       Diffstat:
         M electrum/gui/qt/history_list.py     |       5 +++--
         M electrum/gui/qt/transaction_dialog… |       3 ++-
         M electrum/wallet.py                  |      20 ++++++++++++++------
       
       3 files changed, 19 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/history_list.py b/electrum/gui/qt/history_list.py
       t@@ -356,10 +356,11 @@ class HistoryModel(CustomModel, Logger):
        
            def update_fiat(self, idx):
                tx_item = idx.internalPointer().get_data()
       -        key = tx_item['txid']
       +        txid = tx_item['txid']
                fee = tx_item.get('fee')
                value = tx_item['value'].value
       -        fiat_fields = self.parent.wallet.get_tx_item_fiat(key, value, self.parent.fx, fee.value if fee else None)
       +        fiat_fields = self.parent.wallet.get_tx_item_fiat(
       +            tx_hash=txid, amount_sat=value, fx=self.parent.fx, tx_fee=fee.value if fee else None)
                tx_item.update(fiat_fields)
                self.dataChanged.emit(idx, idx, [Qt.DisplayRole, Qt.ForegroundRole])
        
   DIR diff --git a/electrum/gui/qt/transaction_dialog.py b/electrum/gui/qt/transaction_dialog.py
       t@@ -443,7 +443,8 @@ class BaseTxDialog(QDialog, MessageBoxMixin):
                tx_item_fiat = None
                if (self.finalized  # ensures we don't use historical rates for tx being constructed *now*
                        and txid is not None and fx.is_enabled() and amount is not None):
       -            tx_item_fiat = self.wallet.get_tx_item_fiat(txid, abs(amount), fx, fee)
       +            tx_item_fiat = self.wallet.get_tx_item_fiat(
       +                tx_hash=txid, amount_sat=abs(amount), fx=fx, tx_fee=fee)
                lnworker_history = self.wallet.lnworker.get_onchain_history() if self.wallet.lnworker else {}
                if txid in lnworker_history:
                    item = lnworker_history[txid]
   DIR diff --git a/electrum/wallet.py b/electrum/wallet.py
       t@@ -86,6 +86,7 @@ from .util import read_json_file, write_json_file, UserFacingException
        
        if TYPE_CHECKING:
            from .network import Network
       +    from .exchange_rate import FxThread
        
        
        _logger = get_logger(__name__)
       t@@ -947,7 +948,7 @@ class Abstract_Wallet(AddressSynchronizer, ABC):
                    if fx and fx.is_enabled() and fx.get_history_config():
                        txid = item.get('txid')
                        if not item.get('lightning') and txid:
       -                    fiat_fields = self.get_tx_item_fiat(txid, value, fx, item['fee_sat'])
       +                    fiat_fields = self.get_tx_item_fiat(tx_hash=txid, amount_sat=value, fx=fx, tx_fee=item['fee_sat'])
                            item.update(fiat_fields)
                        else:
                            timestamp = item['timestamp'] or now
       t@@ -998,7 +999,7 @@ class Abstract_Wallet(AddressSynchronizer, ABC):
                        income += value
                    # fiat computations
                    if fx and fx.is_enabled() and fx.get_history_config():
       -                fiat_fields = self.get_tx_item_fiat(tx_hash, value, fx, tx_fee)
       +                fiat_fields = self.get_tx_item_fiat(tx_hash=tx_hash, amount_sat=value, fx=fx, tx_fee=tx_fee)
                        fiat_value = fiat_fields['fiat_value'].value
                        item.update(fiat_fields)
                        if value < 0:
       t@@ -1049,20 +1050,27 @@ class Abstract_Wallet(AddressSynchronizer, ABC):
            def default_fiat_value(self, tx_hash, fx, value_sat):
                return value_sat / Decimal(COIN) * self.price_at_timestamp(tx_hash, fx.timestamp_rate)
        
       -    def get_tx_item_fiat(self, tx_hash, value, fx, tx_fee):
       +    def get_tx_item_fiat(
       +            self,
       +            *,
       +            tx_hash: str,
       +            amount_sat: int,
       +            fx: 'FxThread',
       +            tx_fee: Optional[int],
       +    ) -> Dict[str, Any]:
                item = {}
                fiat_value = self.get_fiat_value(tx_hash, fx.ccy)
                fiat_default = fiat_value is None
                fiat_rate = self.price_at_timestamp(tx_hash, fx.timestamp_rate)
       -        fiat_value = fiat_value if fiat_value is not None else self.default_fiat_value(tx_hash, fx, value)
       +        fiat_value = fiat_value if fiat_value is not None else self.default_fiat_value(tx_hash, fx, amount_sat)
                fiat_fee = tx_fee / Decimal(COIN) * fiat_rate if tx_fee is not None else None
                item['fiat_currency'] = fx.ccy
                item['fiat_rate'] = Fiat(fiat_rate, fx.ccy)
                item['fiat_value'] = Fiat(fiat_value, fx.ccy)
                item['fiat_fee'] = Fiat(fiat_fee, fx.ccy) if fiat_fee else None
                item['fiat_default'] = fiat_default
       -        if value < 0:
       -            acquisition_price = - value / Decimal(COIN) * self.average_price(tx_hash, fx.timestamp_rate, fx.ccy)
       +        if amount_sat < 0:
       +            acquisition_price = - amount_sat / Decimal(COIN) * self.average_price(tx_hash, fx.timestamp_rate, fx.ccy)
                    liquidation_price = - fiat_value
                    item['acquisition_price'] = Fiat(acquisition_price, fx.ccy)
                    cg = liquidation_price - acquisition_price