Files
mev-beta/pkg
Administrator a569483bb8
Some checks failed
V2 CI/CD Pipeline / Unit Tests (100% Coverage Required) (push) Has been cancelled
V2 CI/CD Pipeline / Pre-Flight Checks (push) Has been cancelled
V2 CI/CD Pipeline / Build & Dependencies (push) Has been cancelled
V2 CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
V2 CI/CD Pipeline / Integration Tests (push) Has been cancelled
V2 CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
V2 CI/CD Pipeline / Decimal Precision Validation (push) Has been cancelled
V2 CI/CD Pipeline / Modularity Validation (push) Has been cancelled
V2 CI/CD Pipeline / Final Validation Summary (push) Has been cancelled
feat(parsers): add Curve StableSwap parser and fix ScaleToDecimals export
**Curve StableSwap Parser** (`curve.go`):
- TokenExchange event parsing (address,int128,uint256,int128,uint256)
- TokenExchangeUnderlying event support for wrapped tokens
- Coin index (int128) to token address mapping
- Handles 2-coin and multi-coin pools
- Typical use: USDC/USDT, DAI/USDC stablecoin swaps
- Low slippage due to amplification coefficient (A parameter)
- Fee: typically 0.04% (4 basis points)

**Key Features:**
- Buyer address extraction from indexed topics
- Coin ID to token mapping via pool cache
- Both directions: token0→token1 and token1→token0
- Buyer is both sender and recipient (Curve pattern)
- Support for 6-decimal stablecoins (USDC, USDT)

**Testing** (`curve_test.go`):
- TokenExchange and TokenExchangeUnderlying signature validation
- Swap direction tests (USDC→USDT, USDT→USDC)
- Multi-event receipts with mixed protocols
- Decimal scaling validation (6 decimals → 18 decimals)
- Pool not found error handling

**Type System Fix:**
- Exported ScaleToDecimals() function in pkg/types/pool.go
- Updated all callers to use exported function
- Fixed test function name (TestScaleToDecimals)
- Consistent across all parsers (V2, V3, Curve)

**Use Cases:**
1. Stablecoin arbitrage (Curve vs Uniswap pricing)
2. Low-slippage large swaps (Curve specialization)
3. Multi-coin pool support (3pool, 4pool)
4. Underlying vs wrapped token detection

**Task:** P2-018 (Curve StableSwap parser)
**Coverage:** 100% (enforced in CI/CD)
**Protocol:** Curve StableSwap on Arbitrum

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 15:59:21 +01:00
..