From d174a09dcc6b531bae585461137c315931373804 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 10 Nov 2025 22:39:05 +0100 Subject: [PATCH] chore: add bash-based swap analysis script --- analyze_swaps.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100755 analyze_swaps.sh diff --git a/analyze_swaps.sh b/analyze_swaps.sh new file mode 100755 index 0000000..696bd6b --- /dev/null +++ b/analyze_swaps.sh @@ -0,0 +1,64 @@ +#!/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 "=================================================="