Misc Dependencies
Contents
Misc Dependencies¶
Token
¶
The following object represents token values in the system. Supported operations include add, subtract, and set which are anologous to credit, debit, and overwrite in traditional book-keeping parlance.
class Token(object):
"""
Represents a token balance with common math operations to increase, decrease, and set the balance.
"""
def __init__(
self, balance: Decimal = Decimal('0'), qdecimals: Decimal = DEFAULT_QDECIMALS
):
self.balance = balance
self.qdecimals = qdecimals
def add(self, value: Decimal):
self.balance += self.validate(value)
def subtract(self, value: Decimal):
self.balance -= self.validate(value)
def set(self, value: Decimal):
self.balance = self.validate(value)
def validate(self, value) -> Decimal:
self.validate_balance()
return self.validate_value(value)
def validate_balance(self):
if pd.isnull(self.balance):
self.balance = Decimal('0')
def validate_value(self, value) -> Decimal:
if pd.isnull(value):
value = Decimal('0')
return Decimal(str(value)).quantize(self.qdecimals)