Files
uniswap-v2/contracts/interfaces/IUniswapV2.sol
Noah Zinsmeister e88ba8b09c fix interface
2019-11-26 14:05:46 -05:00

49 lines
1.7 KiB
Solidity

pragma solidity 0.5.12;
interface IUniswapV2 {
event LiquidityMinted(
address indexed sender,
address indexed recipient,
uint128 amountToken0,
uint128 amountToken1,
uint128 reserveToken0,
uint128 reserveToken1,
uint256 liquidity
);
event LiquidityBurned(
address indexed sender,
address indexed recipient,
uint128 amountToken0,
uint128 amountToken1,
uint128 reserveToken0,
uint128 reserveToken1,
uint256 liquidity
);
event Swap(
address indexed sender,
address indexed recipient,
uint128 amountToken0,
uint128 amountToken1,
uint128 reserveToken0,
uint128 reserveToken1,
address input
);
function factory() external view returns (address);
function token0() external view returns (address);
function token1() external view returns (address);
function getReserves() external view returns (uint128, uint128);
function readOraclePricesAccumulated() external view returns (uint240, uint240);
function readOracleBlockNumber() external view returns (uint32);
function consultOracle() external view returns (uint240, uint240);
function getAmountOutput(uint128 amountInput, uint128 reserveInput, uint128 reserveOutput)
external pure returns (uint128 amountOutput);
function mintLiquidity(address recipient) external returns (uint256 liquidity);
function burnLiquidity(address recipient) external returns (uint128 amountToken0, uint128 amountToken1);
function rageQuit(address output, address recipient) external returns (uint128 amountOutput);
function swap(address input, address recipient) external returns (uint128 amountOutput);
}