2022-04-14 07:36:29 +00:00
|
|
|
from __future__ import annotations
|
|
|
|
|
2022-04-13 06:00:28 +00:00
|
|
|
from dataclasses import dataclass
|
|
|
|
|
2022-04-14 07:36:29 +00:00
|
|
|
import bbgo_pb2
|
|
|
|
|
2022-04-13 06:00:28 +00:00
|
|
|
|
|
|
|
@dataclass
|
|
|
|
class Balance:
|
|
|
|
exchange: str
|
|
|
|
currency: str
|
|
|
|
available: float
|
|
|
|
locked: float
|
2022-04-14 07:36:29 +00:00
|
|
|
borrowed: str
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
def from_pb(cls, obj: bbgo_pb2.Balance) -> Balance:
|
|
|
|
return cls(
|
|
|
|
exchange=obj.exchange,
|
|
|
|
currency=obj.currency,
|
|
|
|
available=float(obj.available),
|
|
|
|
locked=float(obj.locked),
|
|
|
|
borrowed=obj.borrowed,
|
|
|
|
)
|
|
|
|
|
|
|
|
def total(self) -> float:
|
|
|
|
return self.available + self.locked
|