live: l'equity del book e' il TOTALE cross-collateral — USDE valutato all'indice pubblico

Trovato eseguendo il test di eligibilita' USDE ($500 convertiti alle 13:04Z,
fill 1.0003 fee 0): shadow._equity leggeva solo il conto USDC -> il giro
successivo avrebbe visto -24,3%, mandato un falso "USCITA DI FONDI" e venduto
~$140 di posizioni. Riparato prima del giro delle 13:47: _collaterale_usde()
valuta l'USDE all'indice pubblico usde_usdc (mediana multi-exchange, lezione
Binance 10/10/2025), depeg passa nel sizing, clamp a 1.0 sopra la pari,
fallback 1.0 dichiarato (mai 0: il fallback si sceglie sul danno, P5).
6 test nuovi in tests/test_shadow_usde.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B9UyJLHzR7EJzxR3iQ3RN1
This commit is contained in:
Adriano Dal Pastro
2026-08-26 13:07:29 +00:00
parent 562e95338b
commit 631e854b29
3 changed files with 142 additions and 1 deletions
+23 -1
View File
@@ -49,4 +49,26 @@ la decisione di quota (con un gate: quota massima, chi la decide, cosa la riapre
L'esecuzione è dell'operatore (app: Spot → USDE/USDC) o autorizzata esplicitamente via gateway.
Il libro non c'entra: nessun codice del percorso soldi viene toccato dal test.
*Esito del test: (da scrivere quando eseguito)*
## ESECUZIONE DEL TEST (stesso giorno, 13:04 UTC — autorizzata dall'operatore: "fai test")
Ordine via gateway, limit marcabile con banda di sicurezza sul prezzo (0,995-1,005):
**500 USDE @ 1,0003, filled, fee 0** (`USDE_USDC-8977542793`). Costo totale ~$0,15.
Prima finestra utile di reward: ~**28/08 12:00 UTC** (il calcolo usa il minimo di equity
USDE della finestra); verifica finale il **29/08**: ≥1 voce reward nel Transaction Log →
idoneo; 0 voci → si riconverte e la pista si chiude.
🚨 **DIFETTO TROVATO E RIPARATO DURANTE IL TEST — il test valeva gia' per questo.**
`shadow._equity` leggeva SOLO il conto USDC: dopo la conversione il book avrebbe visto
$1.556 (24,3%) al giro delle 13:47 → falso 💰 "USCITA DI FONDI" **e vendita indesiderata
di ~$140 di posizioni** (i target scalano con l'equity). Riparato in 35 minuti, prima del
giro: `_collaterale_usde()` valuta l'USDE all'**indice pubblico** `usde_usdc` (mediana
multi-exchange — la lezione Binance 10/10), con tre proprieta' blindate da 6 test nuovi
(`tests/test_shadow_usde.py`): un **depeg PASSA nel sizing** (mai nascosto), sopra la pari
si **clampa a 1,0**, indice illeggibile → **1,0 dichiarato, mai 0** (contare 0 ricreerebbe
il falso 24%: il fallback si sceglie sul danno, P5). Verificato live: equity vista dal
book $2.055,88 ("mainnet USDC + USDE 500 @ 0.9999").
*Un test da $500 progettato per misurare l'eligibilita' ha scoperto che il book era cieco
al cross-collateral: se la prima conversione fosse stata fatta a quota vera, l'errore
sarebbe costato caro. I test piccoli esistono per questo.*
*Esito eligibilita': (da scrivere entro il 29/08)*