mirror of
				https://github.com/Instadapp/dsa-connectors.git
				synced 2024-07-29 22:37:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			165 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Solidity
		
	
	
	
	
	
| //SPDX-License-Identifier: MIT
 | |
| pragma solidity >=0.6.2;
 | |
| 
 | |
| interface IPangolinRouter {
 | |
|     function factory() external pure returns (address);
 | |
|     function WAVAX() external pure returns (address);
 | |
| 
 | |
|     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);
 | |
| 
 | |
|     function addLiquidityAVAX(
 | |
|         address token,
 | |
|         uint amountTokenDesired,
 | |
|         uint amountTokenMin,
 | |
|         uint amountAVAXMin,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external payable returns (uint amountToken, uint amountAVAX, uint liquidity);
 | |
| 
 | |
|     function removeLiquidity(
 | |
|         address tokenA,
 | |
|         address tokenB,
 | |
|         uint liquidity,
 | |
|         uint amountAMin,
 | |
|         uint amountBMin,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external returns (uint amountA, uint amountB);
 | |
| 
 | |
|     function removeLiquidityAVAX(
 | |
|         address token,
 | |
|         uint liquidity,
 | |
|         uint amountTokenMin,
 | |
|         uint amountAVAXMin,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external returns (uint amountToken, uint amountAVAX);
 | |
| 
 | |
|     function removeLiquidityWithPermit(
 | |
|         address tokenA,
 | |
|         address tokenB,
 | |
|         uint liquidity,
 | |
|         uint amountAMin,
 | |
|         uint amountBMin,
 | |
|         address to,
 | |
|         uint deadline,
 | |
|         bool approveMax, uint8 v, bytes32 r, bytes32 s
 | |
|     ) external returns (uint amountA, uint amountB);
 | |
| 
 | |
|     function removeLiquidityAVAXWithPermit(
 | |
|         address token,
 | |
|         uint liquidity,
 | |
|         uint amountTokenMin,
 | |
|         uint amountAVAXMin,
 | |
|         address to,
 | |
|         uint deadline,
 | |
|         bool approveMax, uint8 v, bytes32 r, bytes32 s
 | |
|     ) external returns (uint amountToken, uint amountAVAX);
 | |
| 
 | |
|     function swapExactTokensForTokens(
 | |
|         uint amountIn,
 | |
|         uint amountOutMin,
 | |
|         address[] calldata path,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external returns (uint[] memory amounts);
 | |
| 
 | |
|     function swapTokensForExactTokens(
 | |
|         uint amountOut,
 | |
|         uint amountInMax,
 | |
|         address[] calldata path,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external returns (uint[] memory amounts);
 | |
| 
 | |
|     function swapExactAVAXForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
 | |
|         external
 | |
|         payable
 | |
|         returns (uint[] memory amounts);
 | |
| 
 | |
|     function swapTokensForExactAVAX(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
 | |
|         external
 | |
|         returns (uint[] memory amounts);
 | |
| 
 | |
|     function swapExactTokensForAVAX(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
 | |
|         external
 | |
|         returns (uint[] memory amounts);
 | |
| 
 | |
|     function swapAVAXForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
 | |
|         external
 | |
|         payable
 | |
|         returns (uint[] memory amounts);
 | |
| 
 | |
|     function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
 | |
|     function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
 | |
|     function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
 | |
|     function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
 | |
|     function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
 | |
| 
 | |
|     function removeLiquidityAVAXSupportingFeeOnTransferTokens(
 | |
|         address token,
 | |
|         uint liquidity,
 | |
|         uint amountTokenMin,
 | |
|         uint amountAVAXMin,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external returns (uint amountAVAX);
 | |
| 
 | |
|     function removeLiquidityAVAXWithPermitSupportingFeeOnTransferTokens(
 | |
|         address token,
 | |
|         uint liquidity,
 | |
|         uint amountTokenMin,
 | |
|         uint amountAVAXMin,
 | |
|         address to,
 | |
|         uint deadline,
 | |
|         bool approveMax, uint8 v, bytes32 r, bytes32 s
 | |
|     ) external returns (uint amountAVAX);
 | |
| 
 | |
|     function swapExactTokensForTokensSupportingFeeOnTransferTokens(
 | |
|         uint amountIn,
 | |
|         uint amountOutMin,
 | |
|         address[] calldata path,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external;
 | |
| 
 | |
|     function swapExactAVAXForTokensSupportingFeeOnTransferTokens(
 | |
|         uint amountOutMin,
 | |
|         address[] calldata path,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external payable;
 | |
| 
 | |
|     function swapExactTokensForAVAXSupportingFeeOnTransferTokens(
 | |
|         uint amountIn,
 | |
|         uint amountOutMin,
 | |
|         address[] calldata path,
 | |
|         address to,
 | |
|         uint deadline
 | |
|     ) external;
 | |
| }
 | |
| 
 | |
| interface IPangolinFactory {
 | |
|     event PairCreated(address indexed token0, address indexed token1, address pair, uint);
 | |
| 
 | |
|     function getPair(address tokenA, address tokenB) external view returns (address pair);
 | |
|     function allPairs(uint) external view returns (address pair);
 | |
|     function allPairsLength() external view returns (uint);
 | |
| 
 | |
|     function feeTo() external view returns (address);
 | |
|     function feeToSetter() external view returns (address);
 | |
| 
 | |
|     function createPair(address tokenA, address tokenB) external returns (address pair);
 | |
| 
 | |
|     function setFeeTo(address) external;
 | |
|     function setFeeToSetter(address) external;
 | |
| } | 
