Files
smart-updown-token/relayer/helm/values.yaml
T
Caffeine 42dfa58582 feat(contract): возврат залога при ничьей (exit_price == entry_price)
Раньше при равенстве цен close_bet делал `return Ok(())` — ставка навсегда
оставалась в статусе open, а залог запирался в ваулте (замер: 33.6% окон).
Из-за правила «одна открытая ставка на адрес» игрок получал 409 пожизненно.

Теперь ничья возвращает залог целиком (без множителя) и финализирует ставку:
- constants.rs: STATUS_REFUNDED = 3 (0/1/2 не тронуты — зашиты в шлюз и в цепи)
- close_bet.rs: CPI-перевод amount из ваулта беттору под сидами ваулт-PDA,
  запись exit_price/status, событие BetClosed(status=3, payout=amount)
- settle.ts: STATUS_REFUNDED, statusName "refunded", статус 3 в условии финализации
- check.ts: проверка формы события refunded
- тест close_bet_equal_price_stays_open → close_bet_equal_price_refunds
  (+ повторное закрытие отклоняется)

Проверено: cargo test-sbf 10/10, npm run typecheck EXIT=0, две мутации
(снятие статуса, снятие перевода) валят именно новый тест.
Задеплоено: программа 9ALs… (хэш из цепи совпал побайтово), шлюз rev 15.
2026-09-14 02:09:08 +03:00

45 lines
879 B
YAML

replicaCount: 1
image:
name: 'images.binom.pw/smart/updown-relayer'
pullPolicy: IfNotPresent
tag: ''
imagePullSecrets:
- name: regcred
port: 8895
ingress:
host: ''
enabled: false
smart:
rpcUrl: 'http://192.168.76.181:8899'
programId: '9ALsnxXNzDBv3mokngCHbruRTWUZiWR7pf7vswS1fCpf'
tokenMint: '6fxySAjTQTkzyyZ7u8EQqv3SyJtv2Ydr6hphquHbkGS9'
adminKeypair: '/app/secrets/admin-keypair.json'
mode: test
allowAirdrop: true
minAmount: 100000000
maxAmount: 10000000000
multiplierBps: 13000
expirySeconds: 15
startBalance: 10000000000
priceHistory: '/app/data/price-history.db'
priceRetentionHours: 24
settleIntervalMs: 2000
nats:
url: 'nats://192.168.88.93:4222'
priceSubject: 'market.price.solusdt'
keystorePath: '/app/data/.gateway-bettors.json'
persistence:
enabled: true
size: 1Gi
storageClassName: local-path
resources: {}