Router
This documentation provides an overview of the IRouter.sol. This contract defines various functions and structs used for interacting with the Maverick AMM.
Last updated
This documentation provides an overview of the IRouter.sol. This contract defines various functions and structs used for interacting with the Maverick AMM.
Last updated
Name : IRouter
Solidity Version : ^0.8.0
SPDX License-Identifier : GPL-2.0-or-later
Router
is Deployed to
fee
: The fee value uint256
associated with the pool.
tickSpacing
: The tick spacing value uint256
for the pool.
lookback
: The lookback value int256
for the pool.
activeTick
: The active tick value int32
for the pool.
tokenA
: The ERC20 token A address
associated with the pool.
tokenB
: The ERC20 token B address
associated with the pool.
path
: A bytes
string representing the path of tokens to swap.
recipient
: The address
where the swapped tokens will be sent.
deadline
: The deadline timestamp (in seconds) uint256
until which the swap can be executed.
amountIn
: The amount of the input token uint256
to be swapped.
amountOutMinimum
: The minimum acceptable amount of the output token uint256
specified to prevent infinite slippage.
path
: A bytes
string representing the path of tokens to swap (reversed).
recipient
: The address
where the swapped tokens will be sent.
deadline
: The deadline timestamp (in seconds) uint256
until which the swap can be executed.
amountOut
: The amount of the output token uint256
desired.
amountInMaximum
: The maximum acceptable amount of the input token uint256
required.
Returns the address of the factory.
Returns :
IFactory : The address
of the Factory
Returns the address of the Position NFT.
Returns
IPosition : The position NFT address
Swaps amountIn
of one token for as much as possible of another along the specified path.
Parameters :
params
: The parameters necessary for the multi-hop swap, encoded as ExactInputParams
in calldata
Returns :
amountOut
: The amount of the received token in uint256
Swaps as little as possible of one token for amountOut
of another along the specified path (reversed).
Parameters :
params
: The parameters necessary for the multi-hop swap, encoded as ExactOutputParams
in calldata
Returns :
amountIn
: The amount of the input token in uint256
Either gets an existing pool or creates a pool if it does not exist and adds liquidity to it.
Parameters :
poolParams
: Parameters of a pool with poolParams
tokenId
: NFT ID of the token uint256
that will hold LP balance. Use 0
to mint a new token
addParams
: Parameters of liquidity addition with addParams
minTokenAAmount
: Minimum amount of token A uint256
to add. Reverts if not met
minTokenBAmount
: Minimum amount of token B uint256
to add. Reverts if not met
deadline
: Epoch timestamp (in seconds) uint256
Returns :
receivingTokenId
: The ID uint256
of the receiving token
tokenAAmount
: The amount of token A uint256
tokenBAmount
: The amount of token B uint256
binDeltas
: An array of BinDelta
structures
Adds liquidity to a pool.
Parameters :
pool
: Pool to add liquidity to IPool
tokenId
: NFT ID of the token uint256
that will hold LP balance. Use 0
to mint a new token
params
: Parameters of liquidity addition with params
minTokenAAmount
: Minimum amount of token A uint256
to add. Reverts if not met
minTokenBAmount
: Minimum amount of token B uint256
to add. Reverts if not met
deadline
: Epoch timestamp (in seconds) uint256
Returns :
receivingTokenId
: The ID of the receiving token uint256
tokenAAmount
: The amount of token A uint256
tokenBAmount
: The amount of token B uint256
binDeltas
: An array of BinDelta
structures
Adds liquidity to a pool with active tick limits.
Parameters :
pool
: Pool to add liquidity to IPool
tokenId
: NFT ID of the token uint256
that will hold LP balance. Use 0
to mint a new token
params
: Parameters of liquidity addition with params
minTokenAAmount
: Minimum amount of token A uint256
to add. Reverts if not met
minTokenBAmount
: Minimum amount of token B uint256
to add. Reverts if not met
minActiveTick
: Lowest activeTick int32
(inclusive) of the pool that will permit the transaction to pass
maxActiveTick
: Highest activeTick int32
(inclusive) of the pool that will permit the transaction to pass
deadline
: Epoch timestamp (in seconds)
Returns :
receivingTokenId
: The ID of the receiving token uint256
tokenAAmount
: The amount of token A uint256
tokenBAmount
: The amount of token B uint256
binDeltas
: An array of BinDelta
structures
Moves the head of input merged bins to the active bin.
Parameters :
pool
: Pool to remove from with IPool
binIds
: Array of binIds
to migrate
maxRecursion
: Maximum recursion depth uint32
before returning; 0
means no maximum
deadline
: Epoch timestamp (in seconds) uint256
Removes liquidity from a pool and receives WETH if one of the tokens is WETH.
Router must be approved for the withdrawing tokenId:
Position.approve(router, tokenId)
Parameters :
pool
: Pool to remove from with IPool
recipient
: address
where the proceeds are sent. Use zero
or router address to leave tokens in the router
tokenId
: ID uint256
of the position NFT that holds liquidity
params
: Parameters of liquidity removal with params
minTokenAAmount
: Minimum amount of token A uint256
to receive. Reverts if not met
minTokenBAmount
: Minimum amount of token B uint256
to receive. Reverts if not met
deadline
: Epoch timestamp (in seconds) uint256
Returns :
tokenAAmount
: The amount of token A uint256
received
tokenBAmount
: The amount of token B uint256
received
binDeltas
: An array of BinDelta
structure
Ethereum:
ZKSync Era:
Code: