Files
mev-beta/docs/master-plan/05-curve-integration.md
Krypto Kajun 850223a953 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>
2025-10-17 00:12:55 -05:00

102 lines
3.3 KiB
Markdown

# Curve Integration Plan
## Overview
This document outlines the implementation plan for Curve exchange support in the MEV bot. Curve specializes in stablecoin and pegged-asset swaps with low slippage and low fees.
## Contract Architecture
### Core Contracts
- Main Registry: `0x7D86446dDb609eD0F5f8684AcF3037Ffb6149cC6`
- Factory Registry: `0xF1815bdCbcC67D79Cbb7B3C7b2E6d9992E6C1e86`
- Router: `0x8474DdbE98F5aC77e0C38b3C97ad441436D69d2C`
- Exchange Proxy: `0xD152CC3E6A9Ca3Cd5085767eD16a8921152B6867`
### Pool Types
- StableSwap pools (3pool, 4pool, etc.)
- CryptoSwap pools (tricrypto, etc.)
- MetaStable pools
- Lending pools
- Factory pools
## Core Functions
### Swap Functions
- `exchange` (basic swap)
- `exchange_underlying` (swap underlying assets)
- `get_dy` (calculate output without executing)
- `get_dx` (calculate input without executing)
- `exchange_extra` (swap with additional features)
### Pool Management
- `add_liquidity`
- `remove_liquidity`
- `remove_liquidity_one_coin`
- `calc_token_amount` (estimate LP token amount)
- `calc_withdraw_one_coin` (estimate withdrawal amount)
### Pool-Specific Functions
- Pool-specific swap functions for different curve types
- Virtual price calculations
- Fee distribution functions
- Pool parameter modifications
## Implementation Steps
1. Create Curve struct implementing the Exchange interface
2. Implement adapter for different pool types
3. Handle curve's unique pricing mechanism (constant function AMM optimized for similar assets)
4. Implement multi-hop swaps between different pool types
5. Add support for underlying asset swaps
6. Implement virtual price calculations
7. Add support for factory-deployed pools
8. Create pool discovery and indexing functions
## Pricing Mechanisms
### Curve-Specific Pricing
- Use Curve's mathematical formula for stablecoin swaps
- Account for amplification coefficient (A)
- Consider fee structure (dynamic based on trade size)
- Handle different pool types with varying parameters
- Calculate virtual price for accurate pricing
### Multi-Asset Pools
- Support for pools with 2, 3, 4+ assets
- Handle asymmetric deposits/withdrawals
- Calculate effective rates between different asset pairs
## Testing Plan
1. Unit tests for stablecoin swap functions
2. Testing with different amplification coefficients
3. Virtual price calculation verification
4. Multi-asset pool testing
5. Factory pool integration tests
6. Edge case testing (extreme amounts, pool imbalance)
7. Price accuracy verification across different pool types
8. Gas optimization testing
## Performance Considerations
- Optimize for low slippage stablecoin swaps
- Cache pool parameters to reduce external calls
- Implement efficient multi-hop routing
- Consider pool liquidity depth for trade execution
- Batch operations where possible
## Security Considerations
- Validate curve pool addresses and parameters
- Implement proper slippage protection despite low slippage
- Handle emergency pause functions
- Verify gauge contracts for liquidity mining
- Sanitize data from external curve contracts
## Integration with MEV Bot
- Identify curve-specific arbitrage opportunities
- Monitor stablecoin pools for profitable swaps
- Track meta-stable pools for cross-chain opportunities
- Include lending pools in yield farming strategies
- Coordinate with other exchanges for maximum profit