🚀 TON Backend (Swagger Lite)

Интерактивная страница для вызова эндпоинтов вашего Express backend.
Поддерживает: /health, /registerUser, /getBalance, /initiateGame, /player/bet, /player/withdraw, /endGame

⚠️ Важно: этот фронт использует префикс /api (как в вашем референсе): запросы идут на /api/health, /api/registerUser, и т.д. Если у вас нет прокси и backend живёт на корне, поменяйте функцию apiUrl().

⚙️ Настройки

По умолчанию запросы идут на /api (reverse-proxy / nginx). Если backend на другом хосте/порту, укажите Base URL (например: http://localhost:3000), и включите “Use base URL”.

Если чекбокс выключен → запросы всегда идут на /api/...

📊 Status GET /health

Проверка связи с TON и отображение адреса admin-кошелька.

👤 Register User POST /registerUser

Создаёт PlayerContract для пользователя.
Body: { userWalletAddress: string }

💰 Get Balance GET /getBalance

Возвращает баланс контракта в TON.
Query: ?address=...

🎮 Initiate Game POST /initiateGame

Создаёт GameContract и делает bet от Treasury в этот GameContract.
Body: { playerContractAddress: string, betAmountTon: string }

🏁 End Game POST /endGame

Отправляет SetWinner в GameContract и ждёт, пока finished=true.
Body: { gameContractAddress: string, player1Won: boolean }

🃏 Player Bet POST /player/bet

Делает bet от PlayerContract в GameContract.
Body: { playerContractAddress: string, gameContractAddress: string, betAmountTon: string }

💸 Player Withdraw POST /player/withdraw

Выводит TON из PlayerContract на сохранённый player wallet address.
Body: { playerContractAddress: string, amountTon: string }

🧪 Quick Flow

Удобно для теста: Register → Initiate (creates game + treasury bet) → Player Bet → EndGame → Withdraw.