fix #4657
This commit is contained in:
@@ -69,7 +69,8 @@ Label.register('Roboto',
|
|||||||
|
|
||||||
|
|
||||||
from electrum.util import (base_units, NoDynamicFeeEstimates, decimal_point_to_base_unit_name,
|
from electrum.util import (base_units, NoDynamicFeeEstimates, decimal_point_to_base_unit_name,
|
||||||
base_unit_name_to_decimal_point, NotEnoughFunds)
|
base_unit_name_to_decimal_point, NotEnoughFunds, UnknownBaseUnit,
|
||||||
|
DECIMAL_POINT_DEFAULT)
|
||||||
|
|
||||||
|
|
||||||
class ElectrumWindow(App):
|
class ElectrumWindow(App):
|
||||||
@@ -163,8 +164,11 @@ class ElectrumWindow(App):
|
|||||||
self._trigger_update_history()
|
self._trigger_update_history()
|
||||||
|
|
||||||
def _get_bu(self):
|
def _get_bu(self):
|
||||||
decimal_point = self.electrum_config.get('decimal_point', 5)
|
decimal_point = self.electrum_config.get('decimal_point', DECIMAL_POINT_DEFAULT)
|
||||||
return decimal_point_to_base_unit_name(decimal_point)
|
try:
|
||||||
|
return decimal_point_to_base_unit_name(decimal_point)
|
||||||
|
except UnknownBaseUnit:
|
||||||
|
return decimal_point_to_base_unit_name(DECIMAL_POINT_DEFAULT)
|
||||||
|
|
||||||
def _set_bu(self, value):
|
def _set_bu(self, value):
|
||||||
assert value in base_units.keys()
|
assert value in base_units.keys()
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ from electrum.util import (format_time, format_satoshis, format_fee_satoshis,
|
|||||||
UserCancelled, NoDynamicFeeEstimates, profiler,
|
UserCancelled, NoDynamicFeeEstimates, profiler,
|
||||||
export_meta, import_meta, bh2u, bfh, InvalidPassword,
|
export_meta, import_meta, bh2u, bfh, InvalidPassword,
|
||||||
base_units, base_units_list, base_unit_name_to_decimal_point,
|
base_units, base_units_list, base_unit_name_to_decimal_point,
|
||||||
decimal_point_to_base_unit_name, quantize_feerate)
|
decimal_point_to_base_unit_name, quantize_feerate,
|
||||||
|
UnknownBaseUnit, DECIMAL_POINT_DEFAULT)
|
||||||
from electrum.transaction import Transaction, TxOutput
|
from electrum.transaction import Transaction, TxOutput
|
||||||
from electrum.address_synchronizer import AddTransactionException
|
from electrum.address_synchronizer import AddTransactionException
|
||||||
from electrum.wallet import Multisig_Wallet, CannotBumpFee
|
from electrum.wallet import Multisig_Wallet, CannotBumpFee
|
||||||
@@ -126,8 +127,12 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
|||||||
self.create_status_bar()
|
self.create_status_bar()
|
||||||
self.need_update = threading.Event()
|
self.need_update = threading.Event()
|
||||||
|
|
||||||
self.decimal_point = config.get('decimal_point', 5)
|
self.decimal_point = config.get('decimal_point', DECIMAL_POINT_DEFAULT)
|
||||||
self.num_zeros = int(config.get('num_zeros',0))
|
try:
|
||||||
|
decimal_point_to_base_unit_name(self.decimal_point)
|
||||||
|
except UnknownBaseUnit:
|
||||||
|
self.decimal_point = DECIMAL_POINT_DEFAULT
|
||||||
|
self.num_zeros = int(config.get('num_zeros', 0))
|
||||||
|
|
||||||
self.completions = QStringListModel()
|
self.completions = QStringListModel()
|
||||||
|
|
||||||
|
|||||||
@@ -49,13 +49,18 @@ base_units = {'BTC':8, 'mBTC':5, 'bits':2, 'sat':0}
|
|||||||
base_units_inverse = inv_dict(base_units)
|
base_units_inverse = inv_dict(base_units)
|
||||||
base_units_list = ['BTC', 'mBTC', 'bits', 'sat'] # list(dict) does not guarantee order
|
base_units_list = ['BTC', 'mBTC', 'bits', 'sat'] # list(dict) does not guarantee order
|
||||||
|
|
||||||
|
DECIMAL_POINT_DEFAULT = 5 # mBTC
|
||||||
|
|
||||||
|
|
||||||
|
class UnknownBaseUnit(Exception): pass
|
||||||
|
|
||||||
|
|
||||||
def decimal_point_to_base_unit_name(dp: int) -> str:
|
def decimal_point_to_base_unit_name(dp: int) -> str:
|
||||||
# e.g. 8 -> "BTC"
|
# e.g. 8 -> "BTC"
|
||||||
try:
|
try:
|
||||||
return base_units_inverse[dp]
|
return base_units_inverse[dp]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise Exception('Unknown base unit')
|
raise UnknownBaseUnit(dp) from None
|
||||||
|
|
||||||
|
|
||||||
def base_unit_name_to_decimal_point(unit_name: str) -> int:
|
def base_unit_name_to_decimal_point(unit_name: str) -> int:
|
||||||
@@ -63,7 +68,7 @@ def base_unit_name_to_decimal_point(unit_name: str) -> int:
|
|||||||
try:
|
try:
|
||||||
return base_units[unit_name]
|
return base_units[unit_name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise Exception('Unknown base unit')
|
raise UnknownBaseUnit(unit_name) from None
|
||||||
|
|
||||||
|
|
||||||
def normalize_version(v):
|
def normalize_version(v):
|
||||||
|
|||||||
Reference in New Issue
Block a user