docs(sec): SEC-16 — безвозвратная утечка ренты PDA-ставки с кошелька игрока
Найдено при приёмке боевого домена smart-updown.binom.pw (симптом «SOL не обновляется»). - SEC-16: при create_bet ренту PDA-аккаунта ставки (1 559 040 lamports = (96+32+128)*6960) платит БЕТТОР, а не шлюз; баланс шлюза-админа при этом не меняется (замер whose-fee.cjs). Аккаунт не закрывается никогда (в контракте 9ALs четыре инструкции, ни одной close = bettor) → рента теряется безвозвратно. В цепи 75 аккаунтов = 0.116928 SOL заперто, растёт линейно. Вердикт: на тестах терпимо (маскируется краном, 5 SOL = ~3207 раундов), перед mainnet — блокер. - TASKS.md: фича «если цена не изменилась — подождать ещё 15 с» (НЕ доделана), заметка про боевой домен на общем TS-шлюзе и лаг крана 8–13 с. - tools: доказательные скрипты (whose-fee, bet-pda-rent, faucet-latency, sol-balance-cycle, settle-math-test, backend-full-test) + README с питфоллами замера. - k8s/smart-updown-api-ingress.yaml: /api,/ws вынесены вне helm (релиз игры их сносил).
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: smart-updown-api
|
||||
namespace: game
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: manual
|
||||
app.kubernetes.io/name: smart-updown-api
|
||||
annotations:
|
||||
# Отдельный ingress ВНЕ helm: чарт front2 рендерит только path "/", поэтому
|
||||
# helm-релиз игры больше не сможет снести /api и /ws (инцидент 15.09.2026).
|
||||
helm.sh/resource-policy: keep
|
||||
spec:
|
||||
ingressClassName: traefik
|
||||
rules:
|
||||
- host: smart-updown.binom.pw
|
||||
http:
|
||||
paths:
|
||||
- path: /api
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: testfront-gateway-smart-updown-relayer
|
||||
port:
|
||||
number: 8895
|
||||
- path: /ws
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: testfront-gateway-smart-updown-relayer
|
||||
port:
|
||||
number: 8895
|
||||
Reference in New Issue
Block a user