Files
smom-dbis-138/contracts/bridge/trustless/interfaces/IEnhancedSwapRouterV2.sol

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);
}