48 lines
1.6 KiB
Solidity
48 lines
1.6 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity =0.8.20;
|
|
|
|
import {IUniswapV2ERC20} from "./IUniswapV2ERC20.sol";
|
|
|
|
interface IUniswapV2Pair is IUniswapV2ERC20 {
|
|
event Mint(address indexed sender, uint256 amount0, uint256 amount1);
|
|
event Burn(address indexed sender, uint256 amount0, uint256 amount1, address indexed to);
|
|
event Swap(
|
|
address indexed sender,
|
|
uint256 amount0In,
|
|
uint256 amount1In,
|
|
uint256 amount0Out,
|
|
uint256 amount1Out,
|
|
address indexed to
|
|
);
|
|
event Sync(uint112 reserve0, uint112 reserve1);
|
|
|
|
// forge-lint: disable-next-line(mixed-case-function)
|
|
function MINIMUM_LIQUIDITY() external pure returns (uint256);
|
|
function factory() external view returns (address);
|
|
function token0() external view returns (address);
|
|
function token1() external view returns (address);
|
|
|
|
function getReserves()
|
|
external
|
|
view
|
|
returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
|
|
|
|
function price0CumulativeLast() external view returns (uint256);
|
|
function price1CumulativeLast() external view returns (uint256);
|
|
function kLast() external view returns (uint256);
|
|
|
|
function mint(address to) external returns (uint256 liquidity);
|
|
function burn(address to) external returns (uint256 amount0, uint256 amount1);
|
|
|
|
function swap(
|
|
uint256 amount0Out,
|
|
uint256 amount1Out,
|
|
address to,
|
|
bytes calldata data
|
|
) external;
|
|
|
|
function skim(address to) external;
|
|
function sync() external;
|
|
function initialize(address, address) external;
|
|
}
|