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:
228
orig/config/providers_runtime.yaml.backup_20251030_193447
Normal file
228
orig/config/providers_runtime.yaml.backup_20251030_193447
Normal file
@@ -0,0 +1,228 @@
|
||||
global_limits:
|
||||
connection_timeout: 30s
|
||||
idle_timeout: 300s
|
||||
max_concurrent_connections: 50
|
||||
read_timeout: 60s
|
||||
write_timeout: 30s
|
||||
monitoring:
|
||||
enabled: true
|
||||
log_slow_requests: true
|
||||
metrics_interval: 60s
|
||||
slow_request_threshold: 5s
|
||||
track_provider_performance: true
|
||||
provider_pools:
|
||||
execution:
|
||||
failover_enabled: true
|
||||
health_check_interval: 30s
|
||||
max_concurrent_connections: 20
|
||||
providers:
|
||||
- Alchemy WSS
|
||||
- Alchemy WSS 2
|
||||
- Chainstack WSS 1
|
||||
- Chainstack WSS 2
|
||||
- Chainstack WSS 3
|
||||
- Arbitrum Public HTTP
|
||||
- Chainstack HTTP
|
||||
- Ankr HTTP
|
||||
strategy: reliability_first
|
||||
read_only:
|
||||
failover_enabled: true
|
||||
health_check_interval: 30s
|
||||
max_concurrent_connections: 25
|
||||
providers:
|
||||
- Alchemy WSS
|
||||
- Alchemy WSS 2
|
||||
- Chainstack WSS 1
|
||||
- Chainstack WSS 2
|
||||
- Chainstack WSS 3
|
||||
- Arbitrum Public HTTP
|
||||
- Ankr HTTP
|
||||
strategy: websocket_preferred
|
||||
providers:
|
||||
# HTTP Providers - Load distributed across multiple endpoints
|
||||
- features:
|
||||
- execution
|
||||
- transaction_submission
|
||||
- reading
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 60s
|
||||
timeout: 30s
|
||||
http_endpoint: https://arbitrum-mainnet.core.chainstack.com/53c30e7a941160679fdcc396c894fc57
|
||||
name: Chainstack HTTP
|
||||
priority: 1
|
||||
rate_limit:
|
||||
burst: 100
|
||||
max_retries: 3
|
||||
requests_per_second: 100
|
||||
retry_delay: 1s
|
||||
timeout: 30s
|
||||
type: standard
|
||||
ws_endpoint: ""
|
||||
- features:
|
||||
- execution
|
||||
- transaction_submission
|
||||
- reading
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 60s
|
||||
timeout: 30s
|
||||
http_endpoint: https://rpc.ankr.com/arbitrum
|
||||
name: Ankr HTTP
|
||||
priority: 3
|
||||
rate_limit:
|
||||
burst: 60
|
||||
max_retries: 3
|
||||
requests_per_second: 30
|
||||
retry_delay: 1s
|
||||
timeout: 30s
|
||||
type: standard
|
||||
ws_endpoint: ""
|
||||
- features:
|
||||
- execution
|
||||
- transaction_submission
|
||||
- reading
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 60s
|
||||
timeout: 30s
|
||||
http_endpoint: https://arb1.arbitrum.io/rpc
|
||||
name: Arbitrum Public HTTP
|
||||
priority: 1
|
||||
rate_limit:
|
||||
burst: 20
|
||||
max_retries: 3
|
||||
requests_per_second: 10
|
||||
retry_delay: 2s
|
||||
timeout: 30s
|
||||
type: standard
|
||||
ws_endpoint: ""
|
||||
# WebSocket Providers - Real-time data streams with HTTP fallback
|
||||
|
||||
# Alchemy - Premium provider (Priority 1)
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
- execution
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arb-mainnet.g.alchemy.com/v2/d6VAHgzkOI3NgLGem6uBMiADT1E9rROB
|
||||
name: Alchemy WSS
|
||||
priority: 1
|
||||
rate_limit:
|
||||
burst: 1000
|
||||
max_retries: 3
|
||||
requests_per_second: 330
|
||||
retry_delay: 1s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arb-mainnet.g.alchemy.com/v2/d6VAHgzkOI3NgLGem6uBMiADT1E9rROB
|
||||
|
||||
# Alchemy 2 - Secondary premium provider (Priority 2)
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
- execution
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arb-mainnet.g.alchemy.com/v2/Qpf70Ii5GojW2pD14601r
|
||||
name: Alchemy WSS 2
|
||||
priority: 2
|
||||
rate_limit:
|
||||
burst: 1000
|
||||
max_retries: 3
|
||||
requests_per_second: 330
|
||||
retry_delay: 1s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arb-mainnet.g.alchemy.com/v2/Qpf70Ii5GojW2pD14601r
|
||||
|
||||
# Chainstack Endpoint 1 (Priority 3)
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
- execution
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arbitrum-mainnet.core.chainstack.com/5d4d7ef9a15d34c16a5d566c4d077d9d
|
||||
name: Chainstack WSS 1
|
||||
priority: 3
|
||||
rate_limit:
|
||||
burst: 100
|
||||
max_retries: 3
|
||||
requests_per_second: 100
|
||||
retry_delay: 1s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arbitrum-mainnet.core.chainstack.com/5d4d7ef9a15d34c16a5d566c4d077d9d
|
||||
|
||||
# Chainstack Endpoint 2 (Priority 4) - Original endpoint
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
- execution
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arbitrum-mainnet.core.chainstack.com/53c30e7a941160679fdcc396c894fc57
|
||||
name: Chainstack WSS 2
|
||||
priority: 4
|
||||
rate_limit:
|
||||
burst: 100
|
||||
max_retries: 3
|
||||
requests_per_second: 100
|
||||
retry_delay: 1s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arbitrum-mainnet.core.chainstack.com/53c30e7a941160679fdcc396c894fc57
|
||||
|
||||
# Chainstack Endpoint 3 (Priority 5)
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
- execution
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870
|
||||
name: Chainstack WSS 3
|
||||
priority: 5
|
||||
rate_limit:
|
||||
burst: 100
|
||||
max_retries: 3
|
||||
requests_per_second: 100
|
||||
retry_delay: 1s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arbitrum-mainnet.core.chainstack.com/f69d14406bc00700da9b936504e1a870
|
||||
- features:
|
||||
- reading
|
||||
- real_time
|
||||
health_check:
|
||||
enabled: true
|
||||
interval: 30s
|
||||
timeout: 60s
|
||||
http_endpoint: https://arb1.arbitrum.io/rpc
|
||||
name: Arbitrum Public WS
|
||||
priority: 10
|
||||
rate_limit:
|
||||
burst: 20
|
||||
max_retries: 3
|
||||
requests_per_second: 10
|
||||
retry_delay: 2s
|
||||
timeout: 60s
|
||||
type: standard
|
||||
ws_endpoint: wss://arb1.arbitrum.io/ws
|
||||
rotation:
|
||||
fallover_enabled: true
|
||||
health_check_required: true
|
||||
retry_failed_after: 5m
|
||||
strategy: priority_based
|
||||
Reference in New Issue
Block a user