feat(ui): третий исход в UI — возврат залога при ничьей

onBetClosed показывал бинарно: всё, что не payout_done, — «ПРОИГРАЛ (house_won)»
красным. Ничья (деньги вернулись игроку) выглядела как проигрыш.

Теперь три исхода + нейтральная заглушка:
- payout_done → ВЫИГРАЛ (ok)
- house_won  → ПРОИГРАЛ (err)
- refunded   → ВОЗВРАТ (ничья, ставка возвращена) (info)
- иное       → РАССЧИТАНА (<statusName>) (info), не валится в проигрыш

API.md: пример bet_closed со status 3 + описание refunded.
Проверено: node --check инлайн-JS OK, образ smart/test-front:5, раздача наружу.
This commit is contained in:
Caffeine
2026-09-14 02:09:15 +03:00
parent d9b1cc1ed8
commit 30a17f7d99
2 changed files with 19 additions and 5 deletions
+5 -1
View File
@@ -128,8 +128,12 @@ await fetch(`${BASE}/bet`, {
{"type":"bet_closed","id":"2","bettor":"8KbUFCHV…",
"exitPrice":10104000000,"status":1,"statusName":"payout_done"}
```
```json
{"type":"bet_closed","id":"3","bettor":"8KbUFCHV…",
"exitPrice":10105000000,"status":3,"statusName":"refunded"}
```
* `exitPrice` — цена выхода, тот же масштаб 1e8.
* `statusName`: `payout_done` (игрок выиграл) | `house_won` (выиграл дом) | `open` (ещё открыта).
* `statusName`: `payout_done` (игрок выиграл, выплата с множителем) | `house_won` (выиграл дом, ставка остаётся в ваулте) | `refunded` (ничья при `exitPrice == entryPrice`: залог возвращён игроку ровно суммой ставки, без множителя) | `open` (ещё открыта).
Исход считает контракт: `UP` выигрывает при `exitPrice > entryPrice`, `DOWN` — при `<`.