CRITICAL FIX: Eliminated blocking RPC call in reader.go that was fetching
transaction data we already had from the sequencer feed.
Changes for consistency and reusability:
1. Added RawBytes field to DecodedTransaction to store RLP-encoded transaction
2. Created reusable ToEthereumTransaction() method for type conversion
3. Changed channel from 'chan string' (txHashes) to 'chan *SwapEvent' (swapEvents)
4. Updated processSwapEvent to use transaction from swap event instead of RPC
Impact:
- REMOVES blocking RPC call from hot path (pkg/sequencer/reader.go:357)
- Eliminates network latency from transaction processing pipeline
- Uses data already available from Arbitrum sequencer feed
- Improves throughput and reduces RPC dependency
This fixes the #1 CRITICAL blocker for production deployment identified in
PRODUCTION_READINESS.md.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>