Helpful?
ISwapRouter
Functions for swapping tokens via Uniswap V3
Parameter Structs
Note that fee is in hundredths of basis points (e.g. the fee for a pool at the 0.3% tier is 3000; the fee for a pool at the 0.01% tier is 100).
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:
| Name | Type | Description | 
|---|---|---|
| params | struct ISwapRouter.ExactInputSingleParams | The parameters necessary for the swap, encoded as ExactInputSingleParamsin calldata | 
Return Values:
| Name | Type | Description | 
|---|---|---|
| amountOut | struct ISwapRouter.ExactInputSingleParams | The 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:
| Name | Type | Description | 
|---|---|---|
| params | struct ISwapRouter.ExactInputParams | The parameters necessary for the multi-hop swap, encoded as ExactInputParamsin calldata | 
Return Values:
| Name | Type | Description | 
|---|---|---|
| amountOut | struct ISwapRouter.ExactInputParams | The 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:
| Name | Type | Description | 
|---|---|---|
| params | struct ISwapRouter.ExactOutputSingleParams | The parameters necessary for the swap, encoded as ExactOutputSingleParamsin calldata | 
Return Values:
| Name | Type | Description | 
|---|---|---|
| amountIn | struct ISwapRouter.ExactOutputSingleParams | The 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:
| Name | Type | Description | 
|---|---|---|
| params | struct ISwapRouter.ExactOutputParams | The parameters necessary for the multi-hop swap, encoded as ExactOutputParamsin calldata | 
Return Values:
| Name | Type | Description | 
|---|---|---|
| amountIn | struct ISwapRouter.ExactOutputParams | The amount of the input token |