URI: 
       tuse Decimal for exchange rates - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 0df42fe046029fca9c92c20037a4f823a1709244
   DIR parent 42a16d9c3e19785ad39f272517aa2ce54b9e0f7f
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Sat, 10 Feb 2018 15:03:45 +0100
       
       use Decimal for exchange rates
       
       Diffstat:
         M lib/exchange_rate.py                |       2 +-
         M lib/wallet.py                       |       4 ++--
       
       2 files changed, 3 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/lib/exchange_rate.py b/lib/exchange_rate.py
       t@@ -488,7 +488,7 @@ class FxThread(ThreadJob):
                if rate is None and (datetime.today().date() - d_t.date()).days <= 2:
                    rate = self.exchange.quotes.get(self.ccy)
                    self.history_used_spot = True
       -        return rate
       +        return Decimal(rate) if rate is not None else None
        
            def historical_value_str(self, satoshis, d_t):
                rate = self.history_rate(d_t)
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -38,6 +38,7 @@ import traceback
        from functools import partial
        from collections import defaultdict
        from numbers import Number
       +from decimal import Decimal
        
        import sys
        
       t@@ -915,7 +916,6 @@ class Abstract_Wallet(PrintError):
                return h2
        
            def export_history(self, domain=None, from_timestamp=None, to_timestamp=None, fx=None, show_addresses=False):
       -        from decimal import Decimal
                from .util import format_time, format_satoshis, timestamp_to_datetime
                h = self.get_history(domain)
                out = []
       t@@ -1607,7 +1607,7 @@ class Abstract_Wallet(PrintError):
                tx = self.transactions[txid]
                out_value = sum([ (value if not self.is_mine(address) else 0) for otype, address, value in tx.outputs() ])
                try:
       -            return out_value/1e8 * (price_func(timestamp) - self.average_price(tx, price_func))
       +            return out_value/Decimal(COIN) * (price_func(timestamp) - self.average_price(tx, price_func))
                except:
                    return None