lbry-sdk/lbry/lbry/wallet/dewies.py
2019-10-13 20:06:11 -04:00

42 lines
1 KiB
Python

import textwrap
from torba.client.util import coins_to_satoshis, satoshis_to_coins
def lbc_to_dewies(lbc: str) -> int:
try:
return coins_to_satoshis(lbc)
except ValueError:
raise ValueError(textwrap.dedent(
"""
Decimal inputs require a value in the ones place and in the tenths place
separated by a period. The value provided, '{}', is not of the correct
format.
The following are examples of valid decimal inputs:
1.0
0.001
2.34500
4534.4
2323434.0000
The following are NOT valid:
83
.456
123.
""".format(lbc)
))
def dewies_to_lbc(dewies) -> str:
return satoshis_to_coins(dewies)
def dict_values_to_lbc(d):
for key, value in d.items():
if isinstance(value, int):
d[key] = dewies_to_lbc(value)
elif isinstance(value, dict):
dict_values_to_lbc(value)
return d