Files
smart-updown-token/relayer
Caffeine a73e44de9a feat(relayer): авто-закрытие ставок, WS-события, одна открытая ставка на адрес
- settle.ts: серверный планировщик (startScheduler, тик SMART_SETTLE_INTERVAL_MS)
  находит просроченные открытые ставки, берёт цену из истории на expire_time,
  сам зовёт close_bet; рассылает bet_closed
- gateway.ts: ручка POST /close удалена (404); проверка 'одна открытая ставка
  на адрес' под withBetLock -> 409 с openBetId; bet_open по WS при создании;
  lastState прокидывается в settleOnce (без него лог спамил каждый тик)
- settle.ts: пакетный getProgramAccounts вместо поштучного перебора по id
  (замер: 3 мс против 28 мс, 9.3x, 1 запрос вместо 15); фильтр не-Bet аккаунтов
  по BET_ACCOUNT_SIZE (Global исключён из unmapped)
- check.ts: +38 проверок (decodeBet, openBetOf, dueForSettle, события, границы)
2026-09-13 18:49:26 +03:00
..