/** * Aerodrome Provider — Direct DEX routing via Aerodrome Router on Base * * Aerodrome is the largest liquidity hub on Base. * Router: 0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43 * * Used as fallback when 0x is rate-limited or for core pairs (USDC/WETH) * where Aerodrome has the deepest liquidity. */ import { ethers } from 'ethers'; import type { SwapQuoteParams, SwapQuote } from '../types'; import type { SwapProvider } from './swap-provider'; /** Params for building swap calldata */ export interface AerodromeSwapParams { tokenIn: string; tokenOut: string; amountIn: bigint; amountOutMin: bigint; to: string; deadline: bigint; } export declare class AerodromeProvider implements SwapProvider { private readonly provider?; readonly name = "aerodrome"; private readonly routerAddress; private readonly routerInterface; constructor(routerAddress: string, provider?: ethers.Provider); /** * Get a swap quote by calling router.getAmountsOut() on-chain. * Requires an ethers Provider to be set. */ getQuote(params: SwapQuoteParams): Promise; /** * Build the swap transaction calldata. * This can be used directly without getQuote if you already know the amounts. */ buildSwapCalldata(params: AerodromeSwapParams): { to: string; data: string; value: string; }; /** * Apply slippage to an amount: amount * (10000 - slippageBps) / 10000 */ applySlippage(amount: bigint, slippageBps: number): bigint; /** * Build Aerodrome route for a token pair. * Uses volatile pool (stable = false) for most pairs. * USDC/DAI would use stable = true. */ private buildRoute; private isStablePair; }