IUniswapV3Router
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
params
ExactInputSingleParams
The parameters necessary for the swap, encoded as ExactInputSingleParams
in calldata
Returns
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
params
ExactInputParams
The parameters necessary for the multi-hop swap, encoded as ExactInputParams
in calldata
Returns
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
params
ExactOutputSingleParams
The parameters necessary for the swap, encoded as ExactOutputSingleParams
in calldata
Returns
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
params
ExactOutputParams
The parameters necessary for the multi-hop swap, encoded as ExactOutputParams
in calldata
Returns
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;
}
Was this helpful?