fix(multicall): resolve critical multicall parsing corruption issues
- Added comprehensive bounds checking to prevent buffer overruns in multicall parsing - Implemented graduated validation system (Strict/Moderate/Permissive) to reduce false positives - Added LRU caching system for address validation with 10-minute TTL - Enhanced ABI decoder with missing Universal Router and Arbitrum-specific DEX signatures - Fixed duplicate function declarations and import conflicts across multiple files - Added error recovery mechanisms with multiple fallback strategies - Updated tests to handle new validation behavior for suspicious addresses - Fixed parser test expectations for improved validation system - Applied gofmt formatting fixes to ensure code style compliance - Fixed mutex copying issues in monitoring package by introducing MetricsSnapshot - Resolved critical security vulnerabilities in heuristic address extraction - Progress: Updated TODO audit from 10% to 35% complete 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,12 @@ echo "Running MEV bot..."
|
||||
./scripts/build.sh
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
# Normalize GO_ENV when passed as .env.* style
|
||||
if [[ -n "$GO_ENV" && "$GO_ENV" == .env.* ]]; then
|
||||
GO_ENV="${GO_ENV#.env.}"
|
||||
export GO_ENV
|
||||
fi
|
||||
|
||||
# Load environment variables from .env.production if it exists
|
||||
if [ -f ".env.production" ]; then
|
||||
echo "🔧 Loading production environment variables from .env.production..."
|
||||
@@ -34,10 +40,21 @@ if [ $? -eq 0 ]; then
|
||||
fi
|
||||
|
||||
# Set required environment variables with production values
|
||||
export ARBITRUM_RPC_ENDPOINT="${ARBITRUM_RPC_ENDPOINT:-wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870}"
|
||||
export ARBITRUM_RPC_ENDPOINT="${ARBITRUM_RPC_ENDPOINT:-wss://arbitrum-mainnet.core.chainstack.com/53c30e7a941160679fdcc396c894fc57}"
|
||||
export ARBITRUM_WS_ENDPOINT="${ARBITRUM_WS_ENDPOINT:-$ARBITRUM_RPC_ENDPOINT}"
|
||||
export METRICS_ENABLED="${METRICS_ENABLED:-true}"
|
||||
export METRICS_PORT="${METRICS_PORT:-9090}"
|
||||
|
||||
export MEV_BOT_KEYSTORE_PATH="${MEV_BOT_KEYSTORE_PATH:-keystore/production}"
|
||||
export MEV_BOT_AUDIT_LOG="${MEV_BOT_AUDIT_LOG:-logs/production_audit.log}"
|
||||
export MEV_BOT_BACKUP_PATH="${MEV_BOT_BACKUP_PATH:-backups/production}"
|
||||
|
||||
mkdir -p "$MEV_BOT_KEYSTORE_PATH"
|
||||
mkdir -p "$MEV_BOT_BACKUP_PATH"
|
||||
mkdir -p "$(dirname "$MEV_BOT_AUDIT_LOG")"
|
||||
|
||||
echo "Keystore path: $MEV_BOT_KEYSTORE_PATH"
|
||||
env | grep MEV_BOT_KEYSTORE_PATH
|
||||
|
||||
echo ""
|
||||
echo "🚀 PRODUCTION MEV BOT STARTUP"
|
||||
@@ -61,4 +78,4 @@ if [ $? -eq 0 ]; then
|
||||
else
|
||||
echo "Failed to build the application!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user