Files
mev-beta/analyze_swaps.sh
2025-11-10 22:39:05 +01:00

65 lines
1.9 KiB
Bash
Executable File

#!/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 "=================================================="