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, раздача наружу.
- кнопки «Создать кошелёк» (POST /wallet) и «Пополнить кошелёк» (GET /faucet)
- поле адреса кошелька + подстановка в поле «Адрес»
- подсказка про 403 в режиме release
- ставка: пояснение, что адрес обязателен и деньги выдаёт отдельная кнопка
Фронт подключается к wss://<host>/api/ws и выводит цену SOL, которую
шлюз транслирует из NATS. Автопереподключение, статус соединения,
счётчик сообщений. Добавлены Dockerfile/nginx.conf/helm для деплоя.
- 8 аккаунтов строго по порядку IDL: bettor/global/bet/clock/system_program/bettor_token/vault_token/token_program
- vault_token = ATA от PDA[global,vault]; bettor_token = ATA игрока (ASSOCIATED_TOKEN_PROGRAM_ID)
- minAmount: st.minAmountToken ?? st.minAmountLamports
- programId по умолчанию = 9ALsnx... (токеновый контракт)