Files
Caffeine fb9a7f4e8b feat(relayer): migrate to SPL-token (фантики)
- ops: readGlobal читает vaultBalance (getTokenAccountBalance), createBet/closeBet передают bettorToken/vaultToken/tokenProgram, ensureVaultFunded наливает токен (mintTo, allowOwnerOffCurve)
- pda: vaultPda([global,vault]), config:.env.new SMART_TOKEN_MINT, суммы в токен-единицах
- check.ts: 14 проверок сигнатур создания create/close под новым токеновым IDL
- @solana/spl-token dependency; .gitignore + node_modules/dist
2026-09-10 00:19:21 +03:00

23 lines
1.5 KiB
Bash

# RPC эндпоинт кластера (localnet = запущенный solana-test-validator)
SMART_RPC_URL=http://127.0.0.1:8899
# Mint наших фантиков (SPL-токен, decimals = 6; см. state.rs контракта).
# На localnet — адрес mint, созданный до старта релейера (mint_authority = админ).
# Обязателен: без него ATA/ваулт нельзя привязать к нужному токену.
SMART_TOKEN_MINT=
# Разрешить «наивное» финансирование на localnet: SOL-airDrop бетторам
# (ренты/комиссии) + налив фантиков в ваулт через mint authority (ensureVaultFunded).
# На mainnet выключить — ваулт там финансируется off-chain.
SMART_ALLOW_AIRDROP=1
# Путь к keypair админа/релеера (тот же ключ = admin и relayer; на localnet ещё и mint authority)
SMART_ADMIN_KEYPAIR=~/.config/solana/id.json
# Параметры контракта (должны совпадать со значениями при initialize).
# ВАЖНО: теперь это ТОКЕН-юниты (base units фантиков, decimals = 6), а не лампорты!
SMART_MIN_AMOUNT=100000000 # 100 фантиков
SMART_MAX_AMOUNT=10000000000 # 10 000 фантиков
SMART_MULTIPLIER_BPS=13000 # 1.3x выплата в базисных пунктах
SMART_EXPIRY_SECONDS=15 # экспирация ставки (секунды)