mirror of
https://github.com/bohd4nx/FragmentAPI.git
synced 2026-07-25 14:24:31 +00:00
efcdda6b74
- Migrate from tonutils 0.5.x to 2.0.0 API: - ToncenterClient → TonapiClient with NetworkGlobalID - tonutils.client → tonutils.clients - tonutils.wallet → tonutils.contracts.wallet - pub_key.as_hex property, wallet.balance nanotons - async with client context manager - Centralize TON client init into initialize_ton_client() in wallet.py - Move process_transaction logic into wallet.py, transaction.py re-exports - Add WALLET_VERSION config (V4R2/V5R1, default V5R1) - Add WALLET_CLASSES and SUPPORTED_WALLET_VERSIONS to constants.py - Restore balance check before broadcasting - Wait for seqno confirmation after transfer (120×2s) to prevent duplicate seqno - Fix Fragment hash fetching: use browser navigation headers - Remove accept-encoding from BASE_HEADERS (httpx handles decompression) - Add cookies.example.json template - Add cookies.json to .gitignore
35 lines
1.0 KiB
Python
35 lines
1.0 KiB
Python
import json
|
|
import logging
|
|
from pathlib import Path
|
|
from typing import Any
|
|
|
|
from app.core.exceptions import CookiesError
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
_REQUIRED_KEYS = ("stel_ssid", "stel_dt", "stel_token", "stel_ton_token")
|
|
|
|
|
|
def load_cookies() -> dict[str, Any]:
|
|
cookies_path = Path(__file__).resolve().parents[2] / "cookies.json"
|
|
|
|
if not cookies_path.exists():
|
|
raise CookiesError(
|
|
"cookies.json not found. Create it in the project root and paste your Fragment cookies."
|
|
)
|
|
|
|
try:
|
|
with cookies_path.open("r", encoding="utf-8") as f:
|
|
cookies = json.load(f)
|
|
except Exception as exc:
|
|
raise CookiesError(f"Failed to read cookies.json: {exc}") from exc
|
|
|
|
missing = [k for k in _REQUIRED_KEYS if not str(cookies.get(k, "")).strip()]
|
|
if missing:
|
|
raise CookiesError(
|
|
f"cookies.json is missing or has empty values for: {', '.join(missing)}. "
|
|
"Open Fragment.com in your browser, copy fresh cookies, and update the file."
|
|
)
|
|
|
|
return cookies
|