// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; /** * @title ICurvePool - Curve Pool Interface * @notice Minimal interface for Curve stable pools (e.g., 3pool) * @dev Based on Curve StableSwap pools */ interface ICurvePool { function exchange( int128 i, int128 j, uint256 dx, uint256 min_dy ) external payable returns (uint256); function exchange_underlying( int128 i, int128 j, uint256 dx, uint256 min_dy ) external payable returns (uint256); function get_dy( int128 i, int128 j, uint256 dx ) external view returns (uint256); function coins(uint256 i) external view returns (address); }