Files
test-front/README.md
T
assistant d9b1cc1ed8 docs(api): контракт API для клиента — HTTP + WS-события
API.md: полное описание ручек, трёх WS-событий (price/bet_open/bet_closed),
полей с масштабами, ошибок (409 = уже есть открытая ставка), авто-закрытия.
Все значения сверены с живым стендом.

README: убрано устаревшее 'поллинг до SETTLED' — поллинга нет, события идут по WS.

Отдельно задокументирован SEC-9: ~33.6% ставок (замер на 580 мин) зависают
из-за exit==entry и вечного ретрая.
2026-09-14 00:20:12 +03:00

46 lines
3.3 KiB
Markdown

# test-front — технический тестовый фронт (Binary Rocket)
Чисто технический веб-дашборд для **ручного тестирования механики экономики**
(пополнение фантиками → ставка → вывод) БЕЗ Unity. Только кнопки + вывод технической
информации и лог. Никакой «красоты» — он для гонок сценариев.
## Зачем
Unity-фронт (`fun-game-front2`) хорош для продакшена, но для быстрых итераций по
экономике (swap ввод/вывод, ставка фантиками, поллинг результата) он тяжёлый.
Этот фронт дёргает те же эндпоинты бэкенда и даёт мгновенный отклик.
## Возможности
- Подключение Phantom, показ адреса.
- Отображение баланса: **фантики** (токен Binary Rocket) + SOL.
- **Пополнить** — swap SOL→фантики через `POST /api/pump/swap` (подпись в Phantom).
- **Вывести** — swap фантики→SOL.
- **Ставка** (вверх/вниз) в фантиках через контракт: `GET /api/state` →
`POST /api/bet` → **события по WebSocket** (`bet_open` при постановке, `bet_closed` при
расчёте). Поллинг не нужен: шлюз закрывает ставку сам по таймеру.
Полный контракт API (HTTP + WS, поля событий, ошибки) — **[API.md](API.md)**.
- Лог всех действий + кнопки «Копировать» / «Очистить».
## Как пользоваться
1. Открыть `index.html` (или раздать через любой статик-хостинг / nginx).
2. В шапке задать конфиг:
- **API base** — бэкенд (напр. `https://smart-updown.binom.pw`).
- **RPC** — публичный Solana RPC (напр. `https://rpc.solanatracker.io/public`).
- **Program** — адрес контракта (по умолч. `FMM...`).
- **Token mint** — адрес mint наших фантиков.
3. Подключить Phantom.
4. Гонять сценарии: пополнить → сделать ставку → дождаться исхода → вывести.
> Примечания
> - Фронт читает/пишет токен-аккаунты через RPC; для Token-2022 decimals читается из mint.
> - STUB-ключи create_bet пока зашиты под SOL-версию контракта. Когда контракт переведут
> на токен (Фаза 1), этот блок обновить под токеновые ключи.
> - API base должен отдавать CORS (nginx-прокси), иначе браузер заблокирует fetch.
## Статус
- [x] каркас: балансы, swap ввод/вывод
- [x] ставка вверх/вниз через контракт (поллинг)
- [ ] перевести подпись под токеновую версию контракта (после Фазы 1)
- [ ] реальный провайдер цены вместо RandomPriceSource (за нами)