From 8a0f37ebc2e0c7e245ff79bc8c84a0e665ff23be Mon Sep 17 00:00:00 2001 From: root Date: Fri, 1 May 2026 13:00:57 +0000 Subject: [PATCH] =?UTF-8?q?fix(V2):=20get=5Faccount=5Fsummary=20error=20pa?= =?UTF-8?q?th=20=E2=86=92=20numeric=20fields=20None=20invece=20di=200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Su errore di Deribit (auth fallita, ecc.) i campi equity/balance/margin/ available/unrealized_pnl/total_pnl ora sono None: signal chiaro di "valore ignoto" vs "saldo realmente a zero". Risolve ambiguità lato client che leggevano equity=0 senza accorgersi del campo error. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/cerbero_mcp/exchanges/deribit/client.py | 12 ++++++------ tests/unit/exchanges/deribit/test_client.py | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/cerbero_mcp/exchanges/deribit/client.py b/src/cerbero_mcp/exchanges/deribit/client.py index b4629c8..8a8dfcd 100644 --- a/src/cerbero_mcp/exchanges/deribit/client.py +++ b/src/cerbero_mcp/exchanges/deribit/client.py @@ -321,12 +321,12 @@ class DeribitClient: r = raw.get("result") if not r: return { - "equity": 0, - "balance": 0, - "margin_balance": 0, - "available_funds": 0, - "unrealized_pnl": 0, - "total_pnl": 0, + "equity": None, + "balance": None, + "margin_balance": None, + "available_funds": None, + "unrealized_pnl": None, + "total_pnl": None, "testnet": self.testnet, "error": raw.get("error", "no result"), } diff --git a/tests/unit/exchanges/deribit/test_client.py b/tests/unit/exchanges/deribit/test_client.py index f7bc1df..4178e11 100644 --- a/tests/unit/exchanges/deribit/test_client.py +++ b/tests/unit/exchanges/deribit/test_client.py @@ -165,7 +165,8 @@ async def test_private_call_with_bad_auth_returns_error_envelope( is_reusable=True, ) summary = await client.get_account_summary("USDC") - assert summary["equity"] == 0 + assert summary["equity"] is None + assert summary["balance"] is None assert "invalid_credentials" in summary["error"] positions = await client.get_positions("USDC") assert positions == []