33 lines
1.0 KiB
Solidity
33 lines
1.0 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.19;
|
|
|
|
import "../RouteTypesV2.sol";
|
|
import "../LiquidityPoolETH.sol";
|
|
|
|
interface IEnhancedSwapRouterV2 {
|
|
function executeRoute(RouteTypesV2.RoutePlan calldata plan) external payable returns (uint256 amountOut);
|
|
|
|
function quoteConfiguredProviders(address tokenIn, address tokenOut, uint256 amountIn)
|
|
external
|
|
view
|
|
returns (RouteTypesV2.ProviderQuote[] memory quotes);
|
|
|
|
function quoteConfiguredProvider(
|
|
address tokenIn,
|
|
address tokenOut,
|
|
uint256 amountIn,
|
|
RouteTypesV2.Provider provider
|
|
) external view returns (RouteTypesV2.ProviderQuote memory quote);
|
|
|
|
function swapTokenToToken(address tokenIn, address tokenOut, uint256 amountIn, uint256 amountOutMin)
|
|
external
|
|
returns (uint256 amountOut);
|
|
|
|
function swapToStablecoin(
|
|
LiquidityPoolETH.AssetType inputAsset,
|
|
address stablecoinToken,
|
|
uint256 amountIn,
|
|
uint256 amountOutMin
|
|
) external payable returns (uint256 amountOut);
|
|
}
|