Functions
Here’s a list of all the functions from our Router ABI with a quick explanation of each function and its parameters:
Here’s a list of all the functions from our Router ABI with a quick explanation of each function and its parameters:
The WETH() function retrieves the address of the Wrapped Ether (WETH) token used in the contract.
- Signature:
function WETH() external view returns (address) - Parameters: None.
- Returns:
- The address of the WETH token.
The addLiquidity function allows adding liquidity to a Uniswap pool between two ERC20 tokens.
- Signature:
function addLiquidity(address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) external returns (uint256 amountA, uint256 amountB, uint256 liquidity) - Parameters:
address tokenA: Address of the first token in the pair.address tokenB: Address of the second token in the pair.uint256 amountADesired: Desired amount oftokenAto add as liquidity.uint256 amountBDesired: Desired amount oftokenBto add as liquidity.uint256 amountAMin: Minimum acceptable amount oftokenA(slippage tolerance).uint256 amountBMin: Minimum acceptable amount oftokenB(slippage tolerance).address to: Address where liquidity (LP) tokens will be sent.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
- Returns:
uint256 amountA: Actual amount oftokenAadded to the pool.uint256 amountB: Actual amount oftokenBadded to the pool.uint256 liquidity: Amount of liquidity tokens minted.
The addLiquidityETH function allows adding liquidity to a token-ETH pair.
- Signature:
function addLiquidityETH(address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external payable returns (uint256 amountToken, uint256 amountETH, uint256 liquidity) - Parameters:
address token: Address of the ERC20 token in the pair.uint256 amountTokenDesired: Desired amount of the ERC20 token to add as liquidity.uint256 amountTokenMin: Minimum acceptable amount of the ERC20 token (slippage tolerance).uint256 amountETHMin: Minimum acceptable amount of ETH (slippage tolerance).address to: Address where liquidity (LP) tokens will be sent.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
- Returns:
uint256 amountToken: Actual amount of the ERC20 token added to the pool.uint256 amountETH: Actual amount of ETH added to the pool.uint256 liquidity: Amount of liquidity tokens minted.
The factory() function retrieves the address of the Uniswap factory contract associated with this instance.
- Signature:
function factory() external view returns (address) - Parameters: None.
- Returns:
- The address of the Uniswap factory contract.
The getAmountsOut function calculates the output token amounts for a given input amount and swap path.
- Signature:
function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts) - Parameters:
uint256 amountIn: Amount of the input token.address[] path: Array of token addresses defining the swap path.
- Returns:
uint256[] amounts: Array of output amounts for each token in the path.
The getPair function retrieves the address of the liquidity pool (pair) for two given tokens.
- Signature:
function getPair(address token1, address token2) external view returns (address) - Parameters:
address token1: Address of the first token.address token2: Address of the second token.
- Returns:
- The address of the liquidity pool (pair) contract.
The quote function calculates how much of tokenB you would get for a given amount of tokenA based on their reserves.
- Signature:
function quote(uint256 amountA, uint256 reserveA, uint256 reserveB) external pure returns (uint256 amountB) - Parameters:
uint256 amountA: Amount oftokenAyou want to convert.uint256 reserveA: Reserve oftokenAin the liquidity pool.uint256 reserveB: Reserve oftokenBin the liquidity pool.
- Returns:
uint256 amountB: Calculated amount oftokenB.
The removeLiquidity function removes liquidity from a pool of two ERC20 tokens.
- Signature:
function removeLiquidity(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline) external returns (uint256 amountA, uint256 amountB) - Parameters:
address tokenA: Address of the first token in the pair.address tokenB: Address of the second token in the pair.uint256 liquidity: Amount of liquidity tokens to burn.uint256 amountAMin: Minimum acceptable amount oftokenA.uint256 amountBMin: Minimum acceptable amount oftokenB.address to: Address to send the withdrawn tokens.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
- Returns:
uint256 amountA: Amount oftokenAreturned.uint256 amountB: Amount oftokenBreturned.
The removeLiquidityETH function removes liquidity from a token-ETH pair.
- Signature:
function removeLiquidityETH(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline) external returns (uint256 amountToken, uint256 amountETH) - Parameters:
address token: Address of the ERC20 token in the pair.uint256 liquidity: Amount of liquidity tokens to burn.uint256 amountTokenMin: Minimum acceptable amount of the token.uint256 amountETHMin: Minimum acceptable amount of ETH.address to: Address to send the withdrawn tokens.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
- Returns:
uint256 amountToken: Amount of the token returned.uint256 amountETH: Amount of ETH returned.
The removeLiquidityETHWithPermit function removes liquidity from a token-ETH pair, allowing token approval through an off-chain signature.
- Signature:
function removeLiquidityETHWithPermit(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint256 amountToken, uint256 amountETH) - Parameters:
address token: Address of the ERC20 token in the pair.uint256 liquidity: Amount of liquidity tokens to burn.uint256 amountTokenMin: Minimum acceptable amount of the token.uint256 amountETHMin: Minimum acceptable amount of ETH.address to: Address to send the withdrawn tokens.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.bool approveMax: Iftrue, the max amount of liquidity will be approved.uint8 v,bytes32 r,bytes32 s: Signature components for the permit (used for off-chain approval).
- Returns:
uint256 amountToken: Amount of the token returned.uint256 amountETH: Amount of ETH returned.
The removeLiquidityETHWithPermitSupportingFeeOnTransferTokens function removes liquidity from a token-ETH pair while supporting tokens with transfer fees, and uses a permit for token approvals.
- Signature:
function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(address token, uint256 liquidity, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint256 amountETH) - Parameters:
- Same as
removeLiquidityETHWithPermit.
- Same as
- Returns:
uint256 amountETH: Amount of ETH returned.
The removeLiquidityWithPermit function removes liquidity from a token-token pair, allowing token approval through an off-chain signature.
- Signature:
function removeLiquidityWithPermit(address tokenA, address tokenB, uint256 liquidity, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s) external returns (uint256 amountA, uint256 amountB) - Parameters:
address tokenA: Address of the first token in the pair.address tokenB: Address of the second token in the pair.uint256 liquidity: Amount of liquidity tokens to burn.uint256 amountAMin: Minimum acceptable amount oftokenA.uint256 amountBMin: Minimum acceptable amount oftokenB.address to: Address to send the withdrawn tokens.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.bool approveMax: Iftrue, the max amount of liquidity will be approved.uint8 v,bytes32 r,bytes32 s: Signature components for the permit (used for off-chain approval).
- Returns:
uint256 amountA: Amount oftokenAreturned.uint256 amountB: Amount oftokenBreturned.
The swapExactETHForTokensSupportingFeeOnTransferTokens function swaps an exact amount of ETH for tokens, supporting tokens with transfer fees.
- Signature:
function swapExactETHForTokensSupportingFeeOnTransferTokens(uint256 amountOutMin, address[] calldata path, address to, address referrer, uint256 deadline) external payable - Parameters:
uint256 amountOutMin: Minimum acceptable amount of output tokens (slippage tolerance).address[] path: Array of token addresses representing the swap path, starting with WETH and ending with the desired token.address to: Address to receive the output tokens.address referrer: Address of the referrer, if applicable (optional for referral programs).uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
The swapExactTokensForETHSupportingFeeOnTransferTokens function swaps an exact amount of tokens for ETH, supporting tokens with transfer fees.
- Signature:
function swapExactTokensForETHSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, address referrer, uint256 deadline) external - Parameters:
uint256 amountIn: Exact amount of input tokens to swap.uint256 amountOutMin: Minimum acceptable amount of ETH to receive (slippage tolerance).address[] path: Array of token addresses representing the swap path, starting with the input token and ending with WETH.address to: Address to receive the ETH.address referrer: Address of the referrer, if applicable.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
The swapExactTokensForTokensSupportingFeeOnTransferTokens function swaps an exact amount of tokens for another token, supporting tokens with transfer fees.
- Signature:
function swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, address referrer, uint256 deadline) external - Parameters:
uint256 amountIn: Exact amount of input tokens to swap.uint256 amountOutMin: Minimum acceptable amount of output tokens (slippage tolerance).address[] path: Array of token addresses representing the swap path, starting with the input token and ending with the output token.address to: Address to receive the output tokens.address referrer: Address of the referrer, if applicable.uint256 deadline: Unix timestamp after which the transaction will revert if not executed.
The receive() function allows the contract to accept ETH directly.
- Signature:
receive() external payable - Parameters: None.
- Functionality: The contract can receive ETH without requiring any specific method call.