39 lines
988 B
Solidity
39 lines
988 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.19;
|
|
|
|
/**
|
|
* @title ISwapRouter - Uniswap V3 SwapRouter Interface
|
|
* @notice Minimal interface for Uniswap V3 SwapRouter
|
|
* @dev Matches the legacy Uniswap V3 SwapRouter exactInputSingle / exactInput ABI.
|
|
*/
|
|
interface ISwapRouter {
|
|
struct ExactInputSingleParams {
|
|
address tokenIn;
|
|
address tokenOut;
|
|
uint24 fee;
|
|
address recipient;
|
|
uint256 deadline;
|
|
uint256 amountIn;
|
|
uint256 amountOutMinimum;
|
|
uint160 sqrtPriceLimitX96;
|
|
}
|
|
|
|
struct ExactInputParams {
|
|
bytes path;
|
|
address recipient;
|
|
uint256 deadline;
|
|
uint256 amountIn;
|
|
uint256 amountOutMinimum;
|
|
}
|
|
|
|
function exactInputSingle(ExactInputSingleParams calldata params)
|
|
external
|
|
payable
|
|
returns (uint256 amountOut);
|
|
|
|
function exactInput(ExactInputParams calldata params)
|
|
external
|
|
payable
|
|
returns (uint256 amountOut);
|
|
}
|