- Use ProtocolSushiSwapV2/V3 instead of ProtocolSushiSwap
- Use ProtocolCamelotV2/V3 instead of ProtocolCamelot
- Use ProtocolBalancerV2/V3 instead of ProtocolBalancer
- Use PoolTypeConstantProduct instead of PoolTypeV2
- Use PoolTypeConcentrated instead of PoolTypeV3
- Add default fallbacks to prevent undefined enum usage
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Created PoolCacheAdapter to wrap PoolDiscovery for EventParser
- Updated ArbitrumMonitor to pass pool cache to parser via NewEventParserFull
- Added strict validation to reject events with zero addresses
- Added strict validation to reject events with zero amounts
- Parser now uses discovered pools from cache for token enrichment
This ensures zero addresses and zero amounts NEVER reach the scanner.
Events with invalid data are logged and rejected at the monitor level.
Changes:
- pkg/pools/pool_cache_adapter.go: New adapter implementing PoolCache interface
- pkg/monitor/concurrent.go: Pool cache integration and validation logic
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>