Advertisement
dennoh

Add Liquidity From A S.C

Jun 3rd, 2022
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.30 KB | None | 0 0
  1. pragma solidity ^0.8.6;
  2.  
  3. interface IUniswap {
  4.  
  5. function addLiquidityETH(
  6.     address token,
  7.     uint amountTokenDesired,
  8.     uint amountTokenMin,
  9.     uint amountETHMin,
  10.     address to,
  11.     uint deadline
  12. ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
  13.  
  14. function addLiquidity(
  15.   address tokenA,
  16.   address tokenB,
  17.   uint amountADesired,
  18.   uint amountBDesired,
  19.   uint amountAMin,
  20.   uint amountBMin,
  21.   address to,
  22.   uint deadline
  23. ) external returns (uint amountA, uint amountB, uint liquidity);
  24.  
  25. }
  26.  
  27. interface IERC20 {
  28.     function approve(address spender, uint256 amount) external returns (bool);
  29. }
  30.  
  31. contract TestAddLiquidity {
  32.  
  33.     address internal constant UNISWAP_ROUTER_ADDRESS = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // Ropsten
  34.  
  35.     IUniswap public uniswap;
  36.  
  37.     constructor() public {
  38.         uniswap = IUniswap(UNISWAP_ROUTER_ADDRESS);
  39.     }
  40.    
  41.     function addLiqETH(address token,
  42.         uint amountTokenDesired,
  43.         uint amountTokenMin,
  44.         uint amountETHMin,
  45.         address to,
  46.         uint deadline) external payable {
  47.      
  48.         IERC20(token).approve(UNISWAP_ROUTER_ADDRESS, amountTokenDesired);
  49.         uniswap.addLiquidityETH(token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline);
  50.     }
  51.      
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement