Quoter Interface
Supports quoting the calculated amounts from exact input or exact output swaps
Developer note: These functions are not marked view because they rely on calling non-view functions and reverting to compute the result. They are also not gas efficient and should not be called on-chain. Credit to Uniswap Labs under GPL-2.0-or-later license: https://github.com/Uniswap/v3-periphery
function quoteExactInput(bytes path, uint256 amountIn) external returns (uint256 amountOut, uint16[] fees) external
Returns the amount out received for a given exact input swap without executing the swap
| Name | Type | Description |
|---|---|---|
| path | bytes | The path of the swap, i.e. each token pair |
| amountIn | uint256 | The amount of the first token to swap |
Returns:
| Name | Type | Description |
|---|---|---|
| amountOut | uint256 | The amount of the last token that would be received |
| fees | uint16[] |
function quoteExactInputSingle(address tokenIn, address tokenOut, uint256 amountIn, uint160 limitSqrtPrice) external returns (uint256 amountOut, uint16 fee) external
Returns the amount out received for a given exact input but for a swap of a single pool
| Name | Type | Description |
|---|---|---|
| tokenIn | address | The token being swapped in |
| tokenOut | address | The token being swapped out |
| amountIn | uint256 | The desired input amount |
| limitSqrtPrice | uint160 | The price limit of the pool that cannot be exceeded by the swap |
Returns:
| Name | Type | Description |
|---|---|---|
| amountOut | uint256 | The amount of `tokenOut` that would be received |
| fee | uint16 |
function quoteExactOutput(bytes path, uint256 amountOut) external returns (uint256 amountIn, uint16[] fees) external
Returns the amount in required for a given exact output swap without executing the swap
| Name | Type | Description |
|---|---|---|
| path | bytes | The path of the swap, i.e. each token pair. Path must be provided in reverse order |
| amountOut | uint256 | The amount of the last token to receive |
Returns:
| Name | Type | Description |
|---|---|---|
| amountIn | uint256 | The amount of first token required to be paid |
| fees | uint16[] |
function quoteExactOutputSingle(address tokenIn, address tokenOut, uint256 amountOut, uint160 limitSqrtPrice) external returns (uint256 amountIn, uint16 fee) external
Returns the amount in required to receive the given exact output amount but for a swap of a single pool
| Name | Type | Description |
|---|---|---|
| tokenIn | address | The token being swapped in |
| tokenOut | address | The token being swapped out |
| amountOut | uint256 | The desired output amount |
| limitSqrtPrice | uint160 | The price limit of the pool that cannot be exceeded by the swap |
Returns:
| Name | Type | Description |
|---|---|---|
| amountIn | uint256 | The amount required as the input for the swap in order to receive `amountOut` |
| fee | uint16 |