49 lines
1.7 KiB
Solidity
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);
|
|
}
|