Summary
The SuspicionReason enum in src/sentinel/types.rs has a score() method but no human-readable Display implementation. Adding one improves debugging, CLI output, and alert readability.
Current State
Each variant contains diagnostic data (addresses, gas values, counts) but Debug output is the only way to print them.
What To Do
Implement Display for SuspicionReason so each variant produces a readable string like:
"Flash loan detected from 0x7d27..., score 0.4"
"High value revert: 50.5 ETH, 250000 gas used"
Files
src/sentinel/types.rs (lines 48-64)
Acceptance Criteria
Estimated Effort
~30-50 lines, 1-2 hours
Summary
The
SuspicionReasonenum insrc/sentinel/types.rshas ascore()method but no human-readableDisplayimplementation. Adding one improves debugging, CLI output, and alert readability.Current State
Each variant contains diagnostic data (addresses, gas values, counts) but
Debugoutput is the only way to print them.What To Do
Implement
DisplayforSuspicionReasonso each variant produces a readable string like:"Flash loan detected from 0x7d27..., score 0.4""High value revert: 50.5 ETH, 250000 gas used"Files
src/sentinel/types.rs(lines 48-64)Acceptance Criteria
Displaytrait implemented for all variantscargo test --all-features)cargo clippy --all-features -- -D warningspassesEstimated Effort
~30-50 lines, 1-2 hours