SwapRouter
Algebra Swap Router
Router for stateless execution of swaps against Algebra
Developer note: Credit to Uniswap Labs under GPL-2.0-or-later license: https://github.com/Uniswap/v3-periphery
Functions
constructor
constructor(address _factory, address _WNativeToken, address _poolDeployer) public
public
Name | Type | Description |
---|---|---|
_factory | address | |
_WNativeToken | address | |
_poolDeployer | address |
algebraSwapCallback
function algebraSwapCallback(int256 amount0Delta, int256 amount1Delta, bytes _data) external
external
Called to `msg.sender` after executing a swap via IAlgebraPool#swap. Developer note: In the implementation you must pay the pool tokens owed for the swap. The caller of this method must be checked to be a AlgebraPool deployed by the canonical AlgebraFactory. amount0Delta and amount1Delta can both be 0 if no tokens were swapped.
Name | Type | Description |
---|---|---|
amount0Delta | int256 | The amount of token0 that was sent (negative) or must be received (positive) by the pool by |
the end of the swap. If positive, the callback must send that amount of token0 to the pool. | ||
amount1Delta | int256 | The amount of token1 that was sent (negative) or must be received (positive) by the pool by |
the end of the swap. If positive, the callback must send that amount of token1 to the pool. | ||
_data | bytes |
exactInputSingle
function exactInputSingle(struct ISwapRouter.ExactInputSingleParams params) external payable returns (uint256 amountOut)
payable external
Swaps `amountIn` of one token for as much as possible of another token
Name | Type | Description |
---|---|---|
params | struct ISwapRouter.ExactInputSingleParams | The parameters necessary for the swap, encoded as `ExactInputSingleParams` in calldata |
Returns:
Name | Type | Description |
---|---|---|
amountOut | uint256 | The amount of the received token |
exactInput
function exactInput(struct ISwapRouter.ExactInputParams params) external payable returns (uint256 amountOut)
payable external
Swaps `amountIn` of one token for as much as possible of another along the specified path
Name | Type | Description |
---|---|---|
params | struct ISwapRouter.ExactInputParams | The parameters necessary for the multi-hop swap, encoded as `ExactInputParams` in calldata |
Returns:
Name | Type | Description |
---|---|---|
amountOut | uint256 | The amount of the received token |
exactInputSingleSupportingFeeOnTransferTokens
function exactInputSingleSupportingFeeOnTransferTokens(struct ISwapRouter.ExactInputSingleParams params) external returns (uint256 amountOut)
external
Swaps `amountIn` of one token for as much as possible of another along the specified path Developer note: Unlike standard swaps, handles transferring from user before the actual swap.
Name | Type | Description |
---|---|---|
params | struct ISwapRouter.ExactInputSingleParams | The parameters necessary for the multi-hop swap, encoded as `ExactInputParams` in calldata |
Returns:
Name | Type | Description |
---|---|---|
amountOut | uint256 | The amount of the received token |
exactOutputSingle
function exactOutputSingle(struct ISwapRouter.ExactOutputSingleParams params) external payable returns (uint256 amountIn)
payable external
Swaps as little as possible of one token for `amountOut` of another token
Name | Type | Description |
---|---|---|
params | struct ISwapRouter.ExactOutputSingleParams | The parameters necessary for the swap, encoded as `ExactOutputSingleParams` in calldata |
Returns:
Name | Type | Description |
---|---|---|
amountIn | uint256 | The amount of the input token |
exactOutput
function exactOutput(struct ISwapRouter.ExactOutputParams params) external payable returns (uint256 amountIn)
payable external
Swaps as little as possible of one token for `amountOut` of another along the specified path (reversed)
Name | Type | Description |
---|---|---|
params | struct ISwapRouter.ExactOutputParams | The parameters necessary for the multi-hop swap, encoded as `ExactOutputParams` in calldata |
Returns:
Name | Type | Description |
---|---|---|
amountIn | uint256 | The amount of the input token |