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>
This commit is contained in:
109
orig/config/config.yaml
Normal file
109
orig/config/config.yaml
Normal file
@@ -0,0 +1,109 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user