fix: resolve linting and formatting issues for CI
- Use contextlib.suppress instead of try/except/pass (SIM105) - Prefix unused fixture arguments with underscore (ARG002) - Replace asyncio.TimeoutError with TimeoutError (UP041) - Apply ruff formatting to all files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.5
parent
a15086688a
commit
1f4f1fa557
@@ -265,14 +265,10 @@ class RiskAssessment:
|
||||
"has_fresh_wallet_signal": self.fresh_wallet_signal is not None,
|
||||
"has_size_anomaly_signal": self.size_anomaly_signal is not None,
|
||||
"fresh_wallet_confidence": (
|
||||
self.fresh_wallet_signal.confidence
|
||||
if self.fresh_wallet_signal
|
||||
else None
|
||||
self.fresh_wallet_signal.confidence if self.fresh_wallet_signal else None
|
||||
),
|
||||
"size_anomaly_confidence": (
|
||||
self.size_anomaly_signal.confidence
|
||||
if self.size_anomaly_signal
|
||||
else None
|
||||
self.size_anomaly_signal.confidence if self.size_anomaly_signal else None
|
||||
),
|
||||
"timestamp": self.timestamp.isoformat(),
|
||||
}
|
||||
|
||||
@@ -155,8 +155,7 @@ class RiskScorer:
|
||||
# Log assessment
|
||||
if should_alert:
|
||||
logger.info(
|
||||
"Risk assessment triggered alert: wallet=%s, market=%s, "
|
||||
"score=%.2f, signals=%d",
|
||||
"Risk assessment triggered alert: wallet=%s, market=%s, score=%.2f, signals=%d",
|
||||
bundle.wallet_address[:10] + "...",
|
||||
bundle.market_id[:10] + "...",
|
||||
weighted_score,
|
||||
@@ -180,9 +179,7 @@ class RiskScorer:
|
||||
should_alert=should_alert,
|
||||
)
|
||||
|
||||
def calculate_weighted_score(
|
||||
self, bundle: SignalBundle
|
||||
) -> tuple[float, int]:
|
||||
def calculate_weighted_score(self, bundle: SignalBundle) -> tuple[float, int]:
|
||||
"""Calculate weighted score from all signals.
|
||||
|
||||
Applies per-signal weights and multi-signal bonuses.
|
||||
@@ -273,9 +270,7 @@ class RiskScorer:
|
||||
deleted = await self._redis.delete(key)
|
||||
return deleted > 0
|
||||
|
||||
async def assess_batch(
|
||||
self, bundles: list[SignalBundle]
|
||||
) -> list[RiskAssessment]:
|
||||
async def assess_batch(self, bundles: list[SignalBundle]) -> list[RiskAssessment]:
|
||||
"""Assess multiple trade bundles.
|
||||
|
||||
Args:
|
||||
|
||||
@@ -228,10 +228,17 @@ class SniperDetector:
|
||||
for entry in entries:
|
||||
# Normalize market ID to 0-1 range
|
||||
market_hash = (
|
||||
int(hashlib.md5( # noqa: S324
|
||||
entry.market_id.encode()
|
||||
).hexdigest()[:8], 16) % 1000
|
||||
) / 1000.0
|
||||
(
|
||||
int(
|
||||
hashlib.md5( # noqa: S324
|
||||
entry.market_id.encode()
|
||||
).hexdigest()[:8],
|
||||
16,
|
||||
)
|
||||
% 1000
|
||||
)
|
||||
/ 1000.0
|
||||
)
|
||||
|
||||
# Normalize entry delta to hours (0-5 mins = 0-0.083 hours)
|
||||
delta_hours = entry.entry_delta_seconds / 3600.0
|
||||
@@ -415,11 +422,7 @@ class SniperDetector:
|
||||
overlap_factor = min(1.0, markets_common / 5.0)
|
||||
|
||||
# Weighted combination
|
||||
confidence = (
|
||||
0.3 * size_factor +
|
||||
0.4 * speed_factor +
|
||||
0.3 * overlap_factor
|
||||
)
|
||||
confidence = 0.3 * size_factor + 0.4 * speed_factor + 0.3 * overlap_factor
|
||||
|
||||
return round(min(1.0, confidence), 3)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user