Files
mev-beta/orig/config/config.yaml
Administrator 803de231ba feat: create v2-prep branch with comprehensive planning
Restructured project for V2 refactor:

**Structure Changes:**
- Moved all V1 code to orig/ folder (preserved with git mv)
- Created docs/planning/ directory
- Added orig/README_V1.md explaining V1 preservation

**Planning Documents:**
- 00_V2_MASTER_PLAN.md: Complete architecture overview
  - Executive summary of critical V1 issues
  - High-level component architecture diagrams
  - 5-phase implementation roadmap
  - Success metrics and risk mitigation

- 07_TASK_BREAKDOWN.md: Atomic task breakdown
  - 99+ hours of detailed tasks
  - Every task < 2 hours (atomic)
  - Clear dependencies and success criteria
  - Organized by implementation phase

**V2 Key Improvements:**
- Per-exchange parsers (factory pattern)
- Multi-layer strict validation
- Multi-index pool cache
- Background validation pipeline
- Comprehensive observability

**Critical Issues Addressed:**
- Zero address tokens (strict validation + cache enrichment)
- Parsing accuracy (protocol-specific parsers)
- No audit trail (background validation channel)
- Inefficient lookups (multi-index cache)
- Stats disconnection (event-driven metrics)

Next Steps:
1. Review planning documents
2. Begin Phase 1: Foundation (P1-001 through P1-010)
3. Implement parsers in Phase 2
4. Build cache system in Phase 3
5. Add validation pipeline in Phase 4
6. Migrate and test in Phase 5

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 10:14:26 +01:00

109 lines
3.2 KiB
YAML

# MEV Bot Configuration
# Arbitrum node configuration
arbitrum:
# RPC endpoint for Arbitrum node
rpc_endpoint: "${ARBITRUM_RPC_ENDPOINT}"
# WebSocket endpoint for Arbitrum node (optional)
ws_endpoint: "${ARBITRUM_WS_ENDPOINT}"
# Chain ID for Arbitrum (42161 for mainnet)
chain_id: 42161
# Rate limiting configuration for RPC endpoint (reduced to avoid limits)
rate_limit:
# Maximum requests per second (reduced to avoid rate limits)
requests_per_second: 5
# Maximum concurrent requests
max_concurrent: 3
# Burst size for rate limiting
burst: 10
# Fallback RPC endpoints
fallback_endpoints:
- url: "${ARBITRUM_INFURA_ENDPOINT}"
rate_limit:
requests_per_second: 3
max_concurrent: 2
burst: 5
- url: "https://arbitrum-rpc.publicnode.com"
rate_limit:
requests_per_second: 4
max_concurrent: 2
burst: 8
# Bot configuration
bot:
# Enable or disable the bot
enabled: true
# Polling interval in seconds (increased to reduce load)
polling_interval: 3
# Minimum profit threshold in USD
min_profit_threshold: 10.0
# Gas price multiplier (for faster transactions)
gas_price_multiplier: 1.2
# Maximum number of concurrent workers for processing (reduced to avoid rate limits)
max_workers: 3
# Buffer size for channels
channel_buffer_size: 50
# Timeout for RPC calls in seconds
rpc_timeout: 30
# Uniswap configuration
uniswap:
# Factory contract address
factory_address: "0x1F98431c8aD98523631AE4a59f267346ea31F984"
# Position manager contract address
position_manager_address: "0xC36442b4a4522E871399CD717aBDD847Ab11FE88"
# Supported fee tiers
fee_tiers:
- 500 # 0.05%
- 3000 # 0.3%
- 10000 # 1%
# Cache configuration for pool data
cache:
# Enable or disable caching
enabled: true
# Cache expiration time in seconds
expiration: 300
# Maximum cache size
max_size: 10000
# Logging configuration
log:
# Log level (debug, info, warn, error)
level: "debug"
# Log format (json, text)
format: "text"
# Log file path (empty for stdout)
file: "logs/mev-bot.log"
# Database configuration
database:
# Database file path
file: "mev-bot.db"
# Maximum number of open connections
max_open_connections: 10
# Maximum number of idle connections
max_idle_connections: 5
# Ethereum configuration
ethereum:
# Private key for transaction signing (DO NOT COMMIT TO VERSION CONTROL)
private_key: "${ETHEREUM_PRIVATE_KEY}"
# Account address
account_address: "${ETHEREUM_ACCOUNT_ADDRESS}"
# Gas price multiplier (for faster transactions)
gas_price_multiplier: 1.2
# Smart contract addresses
contracts:
# Arbitrage executor contract address
arbitrage_executor: "0xYOUR_ARBITRAGE_EXECUTOR_CONTRACT_ADDRESS_HERE"
# Flash swapper contract address
flash_swapper: "0xYOUR_FLASH_SWAPPER_CONTRACT_ADDRESS_HERE"
# Authorized caller addresses
authorized_callers:
- "${ETHEREUM_ACCOUNT_ADDRESS}"
# Authorized DEX addresses
authorized_dexes:
- "0x1F98431c8aD98523631AE4a59f267346ea31F984" # Uniswap V3
- "0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9" # Uniswap V2
- "0xc35DADB65012eC5796536bD9864eD8773aBc74C4" # SushiSwap