You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(detect): exclure quote tokens du SniperCluster + alimenter BotRepetition sur UR envelope
Deux bugs identifies en analysant un run live de ~7min sur Ethereum mainnet
(8065 pending tx, 83 router hits, 2 SniperCluster fires).
PROBLEME 1 (faux positif SniperCluster) :
- 11/29 swaps decodes avaient token_out=WETH (38%)
- Les 2 detections SniperCluster fires etaient TOUTES sur WETH
- Semantique reelle : un sniper cluster = N bots qui rushent un NOUVEAU
token (WETH -> MEMECOIN_X), pas N personnes qui revendent en WETH
- WETH/USDC/USDT/DAI sont des QUOTE tokens du marche, exclus
Fix : ajout const QUOTE_TOKENS [WETH, USDC, USDT, DAI] et is_quote_token().
SniperCluster check : if token_out is quote -> skip.
PROBLEME 2 (BotRepetition aveugle sur 60% du flow) :
- 3 addresses bot tres visibles dans le log :
9 hits 0x8ca0A5d199... 7 hits 0x295fc34f... 6 hits 0x0dCfbEf3...
- Aucune detection BotRepetition fired sur eux
- Cause : ces bots passent par Universal Router, decode en envelope, et
observation_from_decoded() retournait None -> detector ne les voyait jamais.
Fix : refactor Observation pour avoir swap: Option<SwapDetails>.
- ExactInput / ExactInputPath -> Observation { swap: Some(...) }
- UR envelope / Multicall -> Observation { swap: None } (= from-only)
- SniperCluster et LargeWethSwap requierent swap=Some, BotRepetition fonctionne
sur from-only obs.
main.rs : observation_from_decoded() retourne Some(Observation { swap: None })
pour UR envelope et Multicall (au lieu de None tout court).
Tests ajoutes (4) :
- sniper_cluster_excludes_weth_as_token_out
- sniper_cluster_excludes_usdc_as_token_out
- bot_repetition_fires_on_envelope_only
- sniper_cluster_skips_envelope_observations
Total : 14/14 tests verts. Clippy -D warnings clean.
Effet attendu sur le prochain run live :
- 0 SniperCluster sur WETH/USDC/USDT/DAI (vrais clusters sur memecoins seulement)
- BotRepetition fire enfin sur les ~3 bots Universal Router recurrents
0 commit comments