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;
 | 
						|
} |