Browse Source

use Decimal for exchange rates

3.1
ThomasV 7 years ago
parent
commit
0df42fe046
  1. 2
      lib/exchange_rate.py
  2. 4
      lib/wallet.py

2
lib/exchange_rate.py

@ -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)

4
lib/wallet.py

@ -38,6 +38,7 @@ import traceback
from functools import partial
from collections import defaultdict
from numbers import Number
from decimal import Decimal
import sys
@ -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 = []
@ -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

Loading…
Cancel
Save