export interface ChainConfig { chainId: number; name: string; rpcUrl: string; aave: { poolAddressesProvider: `0x${string}`; pool: `0x${string}`; }; uniswap: { swapRouter02: `0x${string}`; universalRouter: `0x${string}`; permit2: `0x${string}`; quoterV2: `0x${string}`; }; protocolink: { router: `0x${string}`; }; compound3: { cometUsdc: `0x${string}`; }; tokens: { WETH: `0x${string}`; USDC: `0x${string}`; USDT: `0x${string}`; DAI: `0x${string}`; WBTC: `0x${string}`; }; } export interface TokenMetadata { chainId: number; address: `0x${string}`; decimals: number; symbol: string; name: string; }