@@ -688,7 +688,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
|
|||||||
return text
|
return text
|
||||||
|
|
||||||
def format_fee_rate(self, fee_rate):
|
def format_fee_rate(self, fee_rate):
|
||||||
return format_fee_satoshis(fee_rate/1000, self.num_zeros) + ' sat/byte'
|
return format_fee_satoshis(fee_rate/1000, num_zeros=self.num_zeros) + ' sat/byte'
|
||||||
|
|
||||||
def get_decimal_point(self):
|
def get_decimal_point(self):
|
||||||
return self.decimal_point
|
return self.decimal_point
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
from electrum.util import format_satoshis, parse_URI
|
from decimal import Decimal
|
||||||
|
|
||||||
|
from electrum.util import format_satoshis, format_fee_satoshis, parse_URI
|
||||||
|
|
||||||
from . import SequentialTestCase
|
from . import SequentialTestCase
|
||||||
|
|
||||||
@@ -6,56 +8,38 @@ from . import SequentialTestCase
|
|||||||
class TestUtil(SequentialTestCase):
|
class TestUtil(SequentialTestCase):
|
||||||
|
|
||||||
def test_format_satoshis(self):
|
def test_format_satoshis(self):
|
||||||
result = format_satoshis(1234)
|
self.assertEqual("0.00001234", format_satoshis(1234))
|
||||||
expected = "0.00001234"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_satoshis_negative(self):
|
def test_format_satoshis_negative(self):
|
||||||
result = format_satoshis(-1234)
|
self.assertEqual("-0.00001234", format_satoshis(-1234))
|
||||||
expected = "-0.00001234"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_fee(self):
|
def test_format_fee(self):
|
||||||
result = format_satoshis(1700/1000, 0, 0)
|
self.assertEqual("1.7", format_fee_satoshis(1700/1000))
|
||||||
expected = "1.7"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_fee_precision(self):
|
def test_format_fee_precision(self):
|
||||||
result = format_satoshis(1666/1000, 0, 0, precision=6)
|
self.assertEqual("1.666",
|
||||||
expected = "1.666"
|
format_fee_satoshis(1666/1000, precision=6))
|
||||||
self.assertEqual(expected, result)
|
self.assertEqual("1.7",
|
||||||
|
format_fee_satoshis(1666/1000, precision=1))
|
||||||
result = format_satoshis(1666/1000, 0, 0, precision=1)
|
|
||||||
expected = "1.7"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_satoshis_whitespaces(self):
|
def test_format_satoshis_whitespaces(self):
|
||||||
result = format_satoshis(12340, whitespaces=True)
|
self.assertEqual(" 0.0001234 ",
|
||||||
expected = " 0.0001234 "
|
format_satoshis(12340, whitespaces=True))
|
||||||
self.assertEqual(expected, result)
|
self.assertEqual(" 0.00001234",
|
||||||
|
format_satoshis(1234, whitespaces=True))
|
||||||
result = format_satoshis(1234, whitespaces=True)
|
|
||||||
expected = " 0.00001234"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_satoshis_whitespaces_negative(self):
|
def test_format_satoshis_whitespaces_negative(self):
|
||||||
result = format_satoshis(-12340, whitespaces=True)
|
self.assertEqual(" -0.0001234 ",
|
||||||
expected = " -0.0001234 "
|
format_satoshis(-12340, whitespaces=True))
|
||||||
self.assertEqual(expected, result)
|
self.assertEqual(" -0.00001234",
|
||||||
|
format_satoshis(-1234, whitespaces=True))
|
||||||
result = format_satoshis(-1234, whitespaces=True)
|
|
||||||
expected = " -0.00001234"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_satoshis_diff_positive(self):
|
def test_format_satoshis_diff_positive(self):
|
||||||
result = format_satoshis(1234, is_diff=True)
|
self.assertEqual("+0.00001234",
|
||||||
expected = "+0.00001234"
|
format_satoshis(1234, is_diff=True))
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def test_format_satoshis_diff_negative(self):
|
def test_format_satoshis_diff_negative(self):
|
||||||
result = format_satoshis(-1234, is_diff=True)
|
self.assertEqual("-0.00001234", format_satoshis(-1234, is_diff=True))
|
||||||
expected = "-0.00001234"
|
|
||||||
self.assertEqual(expected, result)
|
|
||||||
|
|
||||||
def _do_test_parse_URI(self, uri, expected):
|
def _do_test_parse_URI(self, uri, expected):
|
||||||
result = parse_URI(uri)
|
result = parse_URI(uri)
|
||||||
|
|||||||
@@ -540,8 +540,11 @@ FEERATE_PRECISION = 1 # num fractional decimal places for sat/byte fee rates
|
|||||||
_feerate_quanta = Decimal(10) ** (-FEERATE_PRECISION)
|
_feerate_quanta = Decimal(10) ** (-FEERATE_PRECISION)
|
||||||
|
|
||||||
|
|
||||||
def format_fee_satoshis(fee, num_zeros=0):
|
def format_fee_satoshis(fee, *, num_zeros=0, precision=None):
|
||||||
return format_satoshis(fee, num_zeros, 0, precision=FEERATE_PRECISION)
|
if precision is None:
|
||||||
|
precision = FEERATE_PRECISION
|
||||||
|
num_zeros = min(num_zeros, FEERATE_PRECISION) # no more zeroes than available prec
|
||||||
|
return format_satoshis(fee, num_zeros=num_zeros, decimal_point=0, precision=precision)
|
||||||
|
|
||||||
|
|
||||||
def quantize_feerate(fee):
|
def quantize_feerate(fee):
|
||||||
|
|||||||
Reference in New Issue
Block a user