from decimal import Decimal


class Ticker(object):
    def __init__(
            self,
            high: float,
            low: float,
            avg: float,
            vol: float,
            vol_cur: int,
            last: float,
            buy: float,
            sell: float,
            updated: int,
    ):
        self.high = high
        self.low = low
        self.avg = avg
        self.vol = vol
        self.vol_cur = vol_cur
        self.last = last
        self.buy = buy
        self.sell = sell
        self.updated = updated

    @property
    def high(self) -> Decimal:
        return self._high

    @high.setter
    def high(self, value: float):
        self._high = Decimal(value)

    @property
    def low(self) -> Decimal:
        return self._low

    @low.setter
    def low(self, value: float):
        self._low = Decimal(value)

    @property
    def avg(self) -> Decimal:
        return self._avg

    @avg.setter
    def avg(self, value: float):
        self._avg = Decimal(value)

    @property
    def vol(self) -> Decimal:
        return self._vol

    @vol.setter
    def vol(self, value: float):
        self._vol = Decimal(value)

    @property
    def vol_cur(self) -> Decimal:
        return self._vol_cur

    @vol_cur.setter
    def vol_cur(self, value: float):
        self._vol_cur = Decimal(value)

    @property
    def last(self) -> Decimal:
        return self._last

    @last.setter
    def last(self, value: float):
        self._last = Decimal(value)

    @property
    def buy(self) -> Decimal:
        return self._buy

    @buy.setter
    def buy(self, value: float):
        self._buy = Decimal(value)

    @property
    def sell(self) -> Decimal:
        return self._sell

    @sell.setter
    def sell(self, value: float):
        self._sell = Decimal(value)

    @property
    def updated(self) -> int:
        return self._updated

    @updated.setter
    def updated(self, value: int):
        self._updated = int(value)

[((33, 21, 33, 35), 'decimal.Decimal', 'Decimal', ({(33, 29, 33, 34): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((41, 20, 41, 34), 'decimal.Decimal', 'Decimal', ({(41, 28, 41, 33): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((49, 20, 49, 34), 'decimal.Decimal', 'Decimal', ({(49, 28, 49, 33): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((57, 20, 57, 34), 'decimal.Decimal', 'Decimal', ({(57, 28, 57, 33): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((65, 24, 65, 38), 'decimal.Decimal', 'Decimal', ({(65, 32, 65, 37): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((73, 21, 73, 35), 'decimal.Decimal', 'Decimal', ({(73, 29, 73, 34): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((81, 20, 81, 34), 'decimal.Decimal', 'Decimal', ({(81, 28, 81, 33): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n'), ((89, 21, 89, 35), 'decimal.Decimal', 'Decimal', ({(89, 29, 89, 34): 'value'}, {}), '(value)', False, 'from decimal import Decimal\n')]