IUniswapV3Router

Git Source

Inherits: IUniswapV3SwapCallback

Functions for swapping tokens via Uniswap V3

Functions

exactInputSingle

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

function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut);

Parameters

NameTypeDescription

params

ExactInputSingleParams

The parameters necessary for the swap, encoded as ExactInputSingleParams in calldata

Returns

NameTypeDescription

amountOut

uint256

The amount of the received token

exactInput

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

function exactInput(ExactInputParams calldata params) external payable returns (uint256 amountOut);

Parameters

NameTypeDescription

params

ExactInputParams

The parameters necessary for the multi-hop swap, encoded as ExactInputParams in calldata

Returns

NameTypeDescription

amountOut

uint256

The amount of the received token

exactOutputSingle

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

function exactOutputSingle(ExactOutputSingleParams calldata params) external payable returns (uint256 amountIn);

Parameters

NameTypeDescription

params

ExactOutputSingleParams

The parameters necessary for the swap, encoded as ExactOutputSingleParams in calldata

Returns

NameTypeDescription

amountIn

uint256

The amount of the input token

exactOutput

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

function exactOutput(ExactOutputParams calldata params) external payable returns (uint256 amountIn);

Parameters

NameTypeDescription

params

ExactOutputParams

The parameters necessary for the multi-hop swap, encoded as ExactOutputParams in calldata

Returns

NameTypeDescription

amountIn

uint256

The amount of the input token

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