Claude
Add Uniswap V3 quoting + mixed-leg execution path for real Arbitrum profit
cee9053 unverified | // SPDX-License-Identifier: MIT | |
| pragma solidity 0.8.19; | |
| /** | |
| * @title ArbitrumAddresses | |
| * @notice Canonical Arbitrum One (chain 42161) infrastructure addresses used | |
| * by the FlashArbitrage executor. Migrated 2026-07 from the old BSC | |
| * set. Cross-checked against arbiscan.io and the operator's own | |
| * Arbitrum-Arbitrage config (config/dexes.arbitrum.ts, | |
| * config/tokens.arbitrum.ts) — still VERIFY before routing real funds. | |
| */ | |
| library ArbitrumAddresses { | |
| // Aave V3 — Arbitrum One (flashLoanSimple premium = 0.05% / 5 bps) | |
| address constant AAVE_V3_POOL_ADDRESSES_PROVIDER = 0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb; | |
| // V2-style routers (Uniswap-V2 fork interface — the executor's swap path) | |
| address constant SUSHISWAP_ROUTER = 0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506; | |
| address constant CAMELOT_V2_ROUTER = 0xc873fEcbd354f5A56E00E710B90EF4201db2448d; | |
| // V3-style venues (concentrated liquidity — different interface). | |
| // Uniswap V3 SwapRouter02/QuoterV2 are wired into FlashArbitrageV3.sol + | |
| // scanner.py's live quoting. Camelot V3 (Algebra-based — no fee-tier | |
| // param, single pool per pair) is listed for reference only; it is NOT | |
| // yet wired into either the scanner or FlashArbitrageV3.sol. | |
| address constant UNISWAP_V3_SWAP_ROUTER02 = 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45; | |
| address constant UNISWAP_V3_QUOTER_V2 = 0x61fFE014bA17989E743c5F6cB21bF9697530B21e; | |
| address constant CAMELOT_V3_SWAP_ROUTER = 0x1F721E2E82F6676FCE4eA07A5958cF098D339e18; | |
| address constant CAMELOT_V3_QUOTER = 0x0Fc73040b26E9bC8514fA028D998E73A254Fa76E; | |
| // Common tokens (note the native decimals: USDC/USDT are 6, WBTC is 8) | |
| address constant WETH = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; | |
| address constant WBTC = 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f; | |
| address constant ARB = 0x912CE59144191C1204E64559FE8253a0e49E6548; | |
| address constant USDC = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831; // native (Circle) | |
| address constant USDC_e = 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8; // bridged | |
| address constant USDT = 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9; | |
| address constant DAI = 0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1; | |
| } | |