Files
uniswap-v2/contracts/interfaces/IUniswapV2.sol
2019-10-25 17:28:04 -04:00

46 lines
1.4 KiB
Solidity

pragma solidity 0.5.12;
interface IUniswapV2 {
event Swap(
address indexed input,
address indexed sender,
address indexed recipient,
uint256 amountInput,
uint256 amountOutput
);
event LiquidityMinted(
address indexed sender,
address indexed recipient,
uint256 liquidity,
uint256 amountToken0,
uint256 amountToken1
);
event LiquidityBurned(
address indexed sender,
address indexed recipient,
uint256 liquidity,
uint256 amountToken0,
uint256 amountToken1
);
function initialized() external view returns (bool);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getAmountOutput(
uint256 amountInput,
uint256 reserveInput,
uint256 reserveOutput
) external pure returns (uint256 amountOutput);
function initialize(address _token0, address _token1) external;
function mintLiquidity(address recipient) external returns (uint256 liquidity);
function burnLiquidity(
uint256 liquidity,
address recipient
) external returns (uint256 amountToken0, uint256 amountToken1);
function swap(address input, address recipient) external returns (uint256 amountOutput);
}