Un'eccezione sulla lettura del conto USDE valeva 0 USDE: se il conto ne aveva davvero, l'equity totale risultava sottostimata senza che nulla lo dicesse. Ora _collaterale_usde ritorna None + la nota dell'eccezione, e _equity propaga l'ignoto (real_eq None -> eq_fallback, non un numero falso). shadow_report.online guardava solo il mark di BTC: con ETH in fallback il giro si considerava comunque online. Ora richiede TUTTI i mark da mainnet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -73,6 +73,12 @@ def test_indice_illeggibile_vale_uno_DICHIARATO_mai_zero():
|
||||
assert "non leggibile" in src
|
||||
|
||||
|
||||
def test_gateway_usde_giu_non_rompe_la_lettura_usdc():
|
||||
def test_gateway_usde_giu_rende_lequity_IGNOTA_non_solo_usdc():
|
||||
"""(#20) Comportamento cambiato: un'eccezione sulla lettura del conto USDE NON vale 0 USDE.
|
||||
Prima di questa riparazione, `eq` restava $2056 (solo USDC) come se l'USDE non ci fosse:
|
||||
se sul conto c'era davvero collaterale USDE, quel $2056 era un equity sottostimato spacciato
|
||||
per certo. Ora l'intera equity e' IGNOTA (None) — coerente col trattamento di ogni altra
|
||||
lettura fallita nel modulo (posizione, mark): non si assume, si segnala."""
|
||||
eq, src = S._equity(_Client(usdc=2056.0, usde=500.0, usde_raises=True), {})
|
||||
assert eq == 2056.0 and src == "mainnet USDC"
|
||||
assert eq is None
|
||||
assert "USDE illeggibile" in src and "RuntimeError" in src
|
||||
|
||||
Reference in New Issue
Block a user