Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.8.6;
- interface IUniswap {
- function addLiquidityETH(
- address token,
- uint amountTokenDesired,
- uint amountTokenMin,
- uint amountETHMin,
- address to,
- uint deadline
- ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
- function addLiquidity(
- address tokenA,
- address tokenB,
- uint amountADesired,
- uint amountBDesired,
- uint amountAMin,
- uint amountBMin,
- address to,
- uint deadline
- ) external returns (uint amountA, uint amountB, uint liquidity);
- }
- interface IERC20 {
- function approve(address spender, uint256 amount) external returns (bool);
- }
- contract TestAddLiquidity {
- address internal constant UNISWAP_ROUTER_ADDRESS = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // Ropsten
- IUniswap public uniswap;
- constructor() public {
- uniswap = IUniswap(UNISWAP_ROUTER_ADDRESS);
- }
- function addLiqETH(address token,
- uint amountTokenDesired,
- uint amountTokenMin,
- uint amountETHMin,
- address to,
- uint deadline) external payable {
- IERC20(token).approve(UNISWAP_ROUTER_ADDRESS, amountTokenDesired);
- uniswap.addLiquidityETH(token, amountTokenDesired, amountTokenMin, amountETHMin, to, deadline);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement