#!/bin/bash SWAPS_FILE="detected_swaps.jsonl" echo "==================================================" echo " MEV Bot V2 - Swap Detection Analysis" echo "==================================================" echo "" # Total count TOTAL=$(wc -l < "$SWAPS_FILE") echo "📊 Total Swaps Detected: $TOTAL" echo "" # Unique pools echo "🏊 Unique Pools:" jq -r '.pool' "$SWAPS_FILE" | sort -u | wc -l echo "" # Top 10 pools by swap count echo "🔝 Top 10 Most Active Pools:" jq -r '.pool' "$SWAPS_FILE" | sort | uniq -c | sort -rn | head -10 | while read count pool; do echo " $pool: $count swaps" done echo "" # Unique transaction senders echo "👥 Unique Transaction Senders:" jq -r '.from' "$SWAPS_FILE" | sort -u | wc -l echo "" # Top 5 most active senders echo "🎯 Top 5 Most Active Senders:" jq -r '.from' "$SWAPS_FILE" | sort | uniq -c | sort -rn | head -5 | while read count sender; do echo " $sender: $count txs" done echo "" # Transaction value distribution echo "💰 Transaction Value Distribution:" echo " Zero value txs:" jq -r 'select(.value == "0x0" or .value == "0x00") | .tx' "$SWAPS_FILE" | wc -l echo " Non-zero value txs:" jq -r 'select(.value != "0x0" and .value != "0x00" and .value != null) | .tx' "$SWAPS_FILE" | wc -l echo "" # Block range echo "📦 Block Range:" MIN_BLOCK=$(jq -r '.block' "$SWAPS_FILE" | sort -n | head -1) MAX_BLOCK=$(jq -r '.block' "$SWAPS_FILE" | sort -n | tail -1) BLOCK_RANGE=$((MAX_BLOCK - MIN_BLOCK)) echo " First block: $MIN_BLOCK" echo " Last block: $MAX_BLOCK" echo " Range: $BLOCK_RANGE blocks" echo "" # Sample swap details echo "🔍 Sample Swap Details (first 3):" head -3 "$SWAPS_FILE" | jq -c '{tx: .tx[0:12], pool: .pool[0:12], from: .from[0:12], value: .value, input_len: (.input | length)}' echo "" echo "==================================================" echo " Analysis Complete" echo "=================================================="