diff --git a/README.md b/README.md index 8eb154c..d0fc98f 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,18 @@ bash tests/smoke/run.sh Vedi `secrets/*.json` e variabili `*_TESTNET` / `ALPACA_PAPER` in `docker-compose.yml` per override ambiente. + +### Risoluzione environment (testnet/mainnet) + +Ogni servizio exchange usa `mcp_common.environment.resolve_environment()` +che applica la precedenza: + +1. env var di override (`DERIBIT_TESTNET`, `BYBIT_TESTNET`, + `HYPERLIQUID_TESTNET`, `ALPACA_PAPER`) +2. flag nel secret JSON (`testnet` o `paper` per alpaca) +3. default `testnet` + +Gli URL canonici live/testnet sono passati come kwargs +`default_base_url_live` / `default_base_url_testnet` direttamente al +resolver — non serve duplicarli nel secret JSON, ma se presenti +prevalgono sui default del codice. diff --git a/tests/smoke/README.md b/tests/smoke/README.md index 0dc5a62..8f94d52 100644 --- a/tests/smoke/README.md +++ b/tests/smoke/README.md @@ -10,6 +10,13 @@ docker compose down Il file `run.sh` verifica: - `/health` di tutti i 6 MCP (atteso `200`) - `environment_info` dei 4 exchange (atteso shape `{environment, source, env_value, base_url, max_leverage}`) +- live tool check read-only contro upstream testnet: + - deribit `get_ticker BTC-PERPETUAL` + - bybit `get_ticker BTCUSDT` (linear) + - hyperliquid `get_ticker BTC` + - alpaca `get_clock` (richiede credenziali paper valide) + - macro `get_treasury_yields` + - sentiment `get_funding_rates BTC` Variabili di ambiente: - `GATEWAY` — URL base gateway (default `http://localhost:8080`)