41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Any, Optional
|
|
|
|
|
|
@dataclass(slots=True)
|
|
class LookupResult:
|
|
coin: str
|
|
address: str
|
|
is_valid_format: bool
|
|
validation_reason: str
|
|
confirmed_balance: Optional[str]
|
|
unconfirmed_balance: Optional[str]
|
|
total_received: Optional[str]
|
|
total_sent: Optional[str]
|
|
tx_count: Optional[int]
|
|
explorer_url: str
|
|
data_source: str
|
|
fetched_at_utc: str
|
|
api_error: Optional[str]
|
|
api_skipped: bool
|
|
|
|
def as_dict(self) -> dict[str, Any]:
|
|
return {
|
|
"coin": self.coin,
|
|
"address": self.address,
|
|
"is_valid_format": self.is_valid_format,
|
|
"validation_reason": self.validation_reason,
|
|
"confirmed_balance": self.confirmed_balance,
|
|
"unconfirmed_balance": self.unconfirmed_balance,
|
|
"total_received": self.total_received,
|
|
"total_sent": self.total_sent,
|
|
"tx_count": self.tx_count,
|
|
"explorer_url": self.explorer_url,
|
|
"data_source": self.data_source,
|
|
"fetched_at_utc": self.fetched_at_utc,
|
|
"api_error": self.api_error,
|
|
"api_skipped": self.api_skipped,
|
|
}
|