fix(V2): get_account_summary error path → numeric fields None invece di 0
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) <noreply@anthropic.com>
This commit is contained in:
@@ -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"),
|
||||
}
|
||||
|
||||
@@ -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 == []
|
||||
|
||||
Reference in New Issue
Block a user