Sequencer is working (minimal parsing)
This commit is contained in:
185
config/config.production.yaml
Normal file
185
config/config.production.yaml
Normal file
@@ -0,0 +1,185 @@
|
||||
# MEV Bot Production Configuration - Arbitrum L2 Optimized
|
||||
|
||||
# Arbitrum L2 node configuration
|
||||
arbitrum:
|
||||
# Primary RPC endpoint - Use environment variable for security
|
||||
rpc_endpoint: "${ARBITRUM_RPC_ENDPOINT}"
|
||||
# WebSocket endpoint for real-time L2 message streaming
|
||||
ws_endpoint: "${ARBITRUM_WS_ENDPOINT}"
|
||||
# Chain ID for Arbitrum mainnet
|
||||
chain_id: 42161
|
||||
# Aggressive rate limiting for high-frequency L2 message processing
|
||||
rate_limit:
|
||||
# High throughput for L2 messages (Arbitrum can handle more)
|
||||
requests_per_second: 50
|
||||
# Higher concurrency for parallel processing
|
||||
max_concurrent: 20
|
||||
# Large burst for L2 message spikes
|
||||
burst: 100
|
||||
# Fallback endpoints for redundancy
|
||||
fallback_endpoints:
|
||||
- url: "${ARBITRUM_INFURA_ENDPOINT}"
|
||||
rate_limit:
|
||||
requests_per_second: 30
|
||||
max_concurrent: 15
|
||||
burst: 60
|
||||
- url: "wss://arb1.arbitrum.io/ws"
|
||||
rate_limit:
|
||||
requests_per_second: 20
|
||||
max_concurrent: 10
|
||||
burst: 40
|
||||
- url: "${ARBITRUM_BLOCKPI_ENDPOINT}"
|
||||
rate_limit:
|
||||
requests_per_second: 25
|
||||
max_concurrent: 12
|
||||
burst: 50
|
||||
|
||||
# Bot configuration optimized for L2 message processing
|
||||
bot:
|
||||
# Enable the bot
|
||||
enabled: true
|
||||
# Fast polling for L2 blocks (250ms for competitive advantage)
|
||||
polling_interval: 0.25
|
||||
# Minimum profit threshold in USD (account for L2 gas costs)
|
||||
min_profit_threshold: 5.0
|
||||
# Gas price multiplier for fast L2 execution
|
||||
gas_price_multiplier: 1.5
|
||||
# High worker count for L2 message volume
|
||||
max_workers: 25
|
||||
# Large buffer for high-frequency L2 messages
|
||||
channel_buffer_size: 1000
|
||||
# Fast timeout for L2 operations
|
||||
rpc_timeout: 15
|
||||
|
||||
# Uniswap configuration optimized for Arbitrum
|
||||
uniswap:
|
||||
# Uniswap V3 factory on Arbitrum
|
||||
factory_address: "0x1F98431c8aD98523631AE4a59f267346ea31F984"
|
||||
# Position manager on Arbitrum
|
||||
position_manager_address: "0xC36442b4a4522E871399CD717aBDD847Ab11FE88"
|
||||
# Focus on high-volume fee tiers
|
||||
fee_tiers:
|
||||
- 500 # 0.05% - High volume pairs
|
||||
- 3000 # 0.3% - Most liquid
|
||||
- 10000 # 1% - Exotic pairs
|
||||
# Aggressive caching for performance
|
||||
cache:
|
||||
enabled: true
|
||||
# Short expiration for real-time data
|
||||
expiration: 30
|
||||
# Large cache for many pools
|
||||
max_size: 50000
|
||||
|
||||
# Production logging
|
||||
log:
|
||||
# Info level for production monitoring
|
||||
level: "info"
|
||||
# JSON format for log aggregation
|
||||
format: "json"
|
||||
# Log to file for persistence
|
||||
file: "/var/log/mev-bot/mev-bot.log"
|
||||
|
||||
# Database configuration for production
|
||||
database:
|
||||
# Production database file
|
||||
file: "/data/mev-bot-production.db"
|
||||
# High connection pool for concurrent operations
|
||||
max_open_connections: 50
|
||||
# Large idle pool for performance
|
||||
max_idle_connections: 25
|
||||
|
||||
# Production-specific settings
|
||||
production:
|
||||
# Performance monitoring
|
||||
metrics:
|
||||
enabled: true
|
||||
port: 9090
|
||||
path: "/metrics"
|
||||
|
||||
# Health checks
|
||||
health:
|
||||
enabled: true
|
||||
port: 8080
|
||||
path: "/health"
|
||||
|
||||
# L2 specific configuration
|
||||
l2_optimization:
|
||||
# Enable L2 message priority processing
|
||||
prioritize_l2_messages: true
|
||||
# Batch processing settings
|
||||
batch_size: 100
|
||||
batch_timeout: "100ms"
|
||||
# Gas optimization
|
||||
gas_estimation:
|
||||
# Include L1 data fees in calculations
|
||||
include_l1_fees: true
|
||||
# Safety multiplier for gas limits
|
||||
safety_multiplier: 1.2
|
||||
# Priority fee strategy
|
||||
priority_fee_strategy: "aggressive"
|
||||
|
||||
# Security settings
|
||||
security:
|
||||
# Maximum position size (in ETH)
|
||||
max_position_size: 10.0
|
||||
# Daily loss limit (in ETH)
|
||||
daily_loss_limit: 2.0
|
||||
# Circuit breaker settings
|
||||
circuit_breaker:
|
||||
enabled: true
|
||||
error_threshold: 10
|
||||
timeout: "5m"
|
||||
|
||||
# DEX configuration
|
||||
dex_protocols:
|
||||
uniswap_v3:
|
||||
enabled: true
|
||||
router: "0xE592427A0AEce92De3Edee1F18E0157C05861564"
|
||||
priority: 1
|
||||
sushiswap:
|
||||
enabled: true
|
||||
router: "0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506"
|
||||
priority: 2
|
||||
camelot:
|
||||
enabled: true
|
||||
router: "0xc873fEcbd354f5A56E00E710B90EF4201db2448d"
|
||||
priority: 3
|
||||
|
||||
# Monitoring and alerting
|
||||
alerts:
|
||||
# Slack webhook for alerts - use environment variable for security
|
||||
slack_webhook: "${SLACK_WEBHOOK_URL}"
|
||||
# Discord webhook for alerts - use environment variable for security
|
||||
discord_webhook: "${DISCORD_WEBHOOK_URL}"
|
||||
# Email alerts
|
||||
email:
|
||||
enabled: false
|
||||
smtp_server: "smtp.gmail.com:587"
|
||||
username: "your-email@gmail.com"
|
||||
password: "your-app-password"
|
||||
|
||||
# Alert conditions
|
||||
conditions:
|
||||
- name: "High Error Rate"
|
||||
condition: "error_rate > 0.05"
|
||||
severity: "critical"
|
||||
- name: "Low Profit Margin"
|
||||
condition: "avg_profit < min_profit_threshold"
|
||||
severity: "warning"
|
||||
- name: "L2 Message Lag"
|
||||
condition: "l2_message_lag > 1000ms"
|
||||
severity: "critical"
|
||||
- name: "Gas Price Spike"
|
||||
condition: "gas_price > 50gwei"
|
||||
severity: "warning"
|
||||
|
||||
# Environment-specific overrides
|
||||
# Set these via environment variables in production:
|
||||
# ARBITRUM_RPC_ENDPOINT - Your primary RPC endpoint
|
||||
# ARBITRUM_WS_ENDPOINT - Your WebSocket endpoint
|
||||
# BOT_MAX_WORKERS - Number of workers (adjust based on server capacity)
|
||||
# BOT_CHANNEL_BUFFER_SIZE - Buffer size (adjust based on memory)
|
||||
# DATABASE_FILE - Database file path
|
||||
# LOG_FILE - Log file path
|
||||
# SLACK_WEBHOOK - Slack webhook URL
|
||||
# DISCORD_WEBHOOK - Discord webhook URL
|
||||
Reference in New Issue
Block a user