1ca1687c9b
DeribitSettings ora supporta coppie credenziali distinte per testnet e mainnet via DERIBIT_CLIENT_ID_TESTNET/_LIVE e DERIBIT_CLIENT_SECRET_TESTNET/_LIVE. Le coppie env-specifiche prevalgono sulla coppia base DERIBIT_CLIENT_ID/DERIBIT_CLIENT_SECRET (mantenuta per backward compat). build_client risolve la coppia giusta tramite settings.deribit.credentials(env); ValueError esplicito se nessuna coppia configurata per l'env richiesto. +4 test (legacy single, per-env, override, missing). Fix anche isolation da .env reale via monkeypatch.chdir(tmp_path). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
61 lines
2.5 KiB
Bash
61 lines
2.5 KiB
Bash
# ============================================================
|
|
# CERBERO MCP — V2.0.0
|
|
# Copy to .env and fill in values. .env is gitignored.
|
|
# Generate tokens: python -c 'import secrets; print(secrets.token_urlsafe(32))'
|
|
# ============================================================
|
|
|
|
# ─── SERVER ─────────────────────────────────────────────────
|
|
HOST=0.0.0.0
|
|
PORT=9000
|
|
LOG_LEVEL=info
|
|
|
|
# ─── AUTH — token bearer per env routing ──────────────────
|
|
# Bot manda Authorization: Bearer <TOKEN>:
|
|
# - TESTNET_TOKEN → request va a base_url_testnet
|
|
# - MAINNET_TOKEN → request va a base_url_live
|
|
TESTNET_TOKEN=
|
|
MAINNET_TOKEN=
|
|
|
|
# ─── EXCHANGE — DERIBIT ───────────────────────────────────
|
|
# Coppia singola (usata sia per testnet sia per mainnet):
|
|
DERIBIT_CLIENT_ID=
|
|
DERIBIT_CLIENT_SECRET=
|
|
# Oppure coppie distinte per env (prevalgono se valorizzate):
|
|
# DERIBIT_CLIENT_ID_TESTNET=
|
|
# DERIBIT_CLIENT_SECRET_TESTNET=
|
|
# DERIBIT_CLIENT_ID_LIVE=
|
|
# DERIBIT_CLIENT_SECRET_LIVE=
|
|
DERIBIT_URL_LIVE=https://www.deribit.com/api/v2
|
|
DERIBIT_URL_TESTNET=https://test.deribit.com/api/v2
|
|
DERIBIT_MAX_LEVERAGE=3
|
|
|
|
# ─── EXCHANGE — BYBIT ─────────────────────────────────────
|
|
BYBIT_API_KEY=
|
|
BYBIT_API_SECRET=
|
|
BYBIT_URL_LIVE=https://api.bybit.com
|
|
BYBIT_URL_TESTNET=https://api-testnet.bybit.com
|
|
BYBIT_MAX_LEVERAGE=3
|
|
|
|
# ─── EXCHANGE — HYPERLIQUID ───────────────────────────────
|
|
HYPERLIQUID_WALLET_ADDRESS=
|
|
HYPERLIQUID_API_WALLET_ADDRESS=
|
|
HYPERLIQUID_PRIVATE_KEY=
|
|
HYPERLIQUID_URL_LIVE=https://api.hyperliquid.xyz
|
|
HYPERLIQUID_URL_TESTNET=https://api.hyperliquid-testnet.xyz
|
|
HYPERLIQUID_MAX_LEVERAGE=3
|
|
|
|
# ─── EXCHANGE — ALPACA ────────────────────────────────────
|
|
ALPACA_API_KEY_ID=
|
|
ALPACA_SECRET_KEY=
|
|
ALPACA_URL_LIVE=https://api.alpaca.markets
|
|
ALPACA_URL_TESTNET=https://paper-api.alpaca.markets
|
|
ALPACA_MAX_LEVERAGE=1
|
|
|
|
# ─── DATA PROVIDERS — MACRO ───────────────────────────────
|
|
FRED_API_KEY=
|
|
FINNHUB_API_KEY=
|
|
|
|
# ─── DATA PROVIDERS — SENTIMENT ───────────────────────────
|
|
CRYPTOPANIC_KEY=
|
|
LUNARCRUSH_KEY=
|