fb9a7f4e8b
- 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
23 lines
1.5 KiB
Bash
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 # экспирация ставки (секунды)
|