Skip to main content

ISwapRouter

Functions for swapping tokens via Uniswap V3

Parameter Structs#

ExactInputSingleParams#

struct ExactInputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
uint160 sqrtPriceLimitX96;
}

ExactInputParams#

struct ExactInputParams {
bytes path;
address recipient;
uint256 deadline;
uint256 amountIn;
uint256 amountOutMinimum;
}

ExactOutputSingleParams#

struct ExactOutputSingleParams {
address tokenIn;
address tokenOut;
uint24 fee;
address recipient;
uint256 deadline;
uint256 amountOut;
uint256 amountInMaximum;
uint160 sqrtPriceLimitX96;
}

ExactOutputParams#

struct ExactOutputParams {
bytes path;
address recipient;
uint256 deadline;
uint256 amountOut;
uint256 amountInMaximum;
}

Functions#

exactInputSingle#

function exactInputSingle(
struct ISwapRouter.ExactInputSingleParams params
) external returns (uint256 amountOut)

Swaps amountIn of one token for as much as possible of another token

Parameters:#

NameTypeDescription
paramsstruct ISwapRouter.ExactInputSingleParamsThe parameters necessary for the swap, encoded as ExactInputSingleParams in calldata

Return Values:#

NameTypeDescription
amountOutstruct ISwapRouter.ExactInputSingleParamsThe amount of the received token

exactInput#

function exactInput(
struct ISwapRouter.ExactInputParams params
) external returns (uint256 amountOut)

Swaps amountIn of one token for as much as possible of another along the specified path

Parameters:#

NameTypeDescription
paramsstruct ISwapRouter.ExactInputParamsThe parameters necessary for the multi-hop swap, encoded as ExactInputParams in calldata

Return Values:#

NameTypeDescription
amountOutstruct ISwapRouter.ExactInputParamsThe amount of the received token

exactOutputSingle#

function exactOutputSingle(
struct ISwapRouter.ExactOutputSingleParams params
) external returns (uint256 amountIn)

Swaps as little as possible of one token for amountOut of another token

Parameters:#

NameTypeDescription
paramsstruct ISwapRouter.ExactOutputSingleParamsThe parameters necessary for the swap, encoded as ExactOutputSingleParams in calldata

Return Values:#

NameTypeDescription
amountInstruct ISwapRouter.ExactOutputSingleParamsThe amount of the input token

exactOutput#

function exactOutput(
struct ISwapRouter.ExactOutputParams params
) external returns (uint256 amountIn)

Swaps as little as possible of one token for amountOut of another along the specified path (reversed)

Parameters:#

NameTypeDescription
paramsstruct ISwapRouter.ExactOutputParamsThe parameters necessary for the multi-hop swap, encoded as ExactOutputParams in calldata

Return Values:#

NameTypeDescription
amountInstruct ISwapRouter.ExactOutputParamsThe amount of the input token