github.com/cwntr/go-defi@v0.0.0-20210629134751-07f9ec2f7e66/contracts/handlers/uniswap/UniswapV2Interfaces.sol (about)

     1  pragma solidity ^0.5.0;
     2  
     3  
     4  interface IUniswapV2Factory {
     5    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
     6    function getPair(address tokenA, address tokenB) external view returns (address pair);
     7    function allPairs(uint) external view returns (address pair);
     8    function allPairsLength() external view returns (uint);
     9    function feeTo() external view returns (address);
    10    function feeToSetter() external view returns (address);
    11    function createPair(address tokenA, address tokenB) external returns (address pair);
    12  }
    13  
    14  
    15  interface IUniswapV2Pair {
    16    event Approval(address indexed owner, address indexed spender, uint value);
    17    event Transfer(address indexed from, address indexed to, uint value);
    18    function name() external pure returns (string memory);
    19    function symbol() external pure returns (string memory);
    20    function decimals() external pure returns (uint8);
    21    function totalSupply() external view returns (uint);
    22    function balanceOf(address owner) external view returns (uint);
    23    function allowance(address owner, address spender) external view returns (uint);
    24    function approve(address spender, uint value) external returns (bool);
    25    function transfer(address to, uint value) external returns (bool);
    26    function transferFrom(address from, address to, uint value) external returns (bool);
    27    function DOMAIN_SEPARATOR() external view returns (bytes32);
    28    function PERMIT_TYPEHASH() external pure returns (bytes32);
    29    function nonces(address owner) external view returns (uint);
    30    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    31    event Mint(address indexed sender, uint amount0, uint amount1);
    32    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    33    event Swap(
    34        address indexed sender,
    35        uint amount0In,
    36        uint amount1In,
    37        uint amount0Out,
    38        uint amount1Out,
    39        address indexed to
    40    );
    41    event Sync(uint112 reserve0, uint112 reserve1);
    42    function MINIMUM_LIQUIDITY() external pure returns (uint);
    43    function factory() external view returns (address);
    44    function token0() external view returns (address);
    45    function token1() external view returns (address);
    46    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    47    function price0CumulativeLast() external view returns (uint);
    48    function price1CumulativeLast() external view returns (uint);
    49    function kLast() external view returns (uint);
    50    function mint(address to) external returns (uint liquidity);
    51    function burn(address to) external returns (uint amount0, uint amount1);
    52    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    53    function skim(address to) external;
    54    function sync() external;
    55  }
    56  
    57  
    58  interface IERC20 {
    59      function totalSupply() external view returns (uint256);
    60      function balanceOf(address account) external view returns (uint256);
    61      function transfer(address recipient, uint256 amount) external returns (bool);
    62      function allowance(address owner, address spender) external view returns (uint256);
    63      function approve(address spender, uint256 amount) external returns (bool);
    64      function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    65      function name() external view returns (string memory);
    66      function decimals() external view returns (uint8);
    67      event Transfer(address indexed from, address indexed to, uint256 value);
    68      event Approval(address indexed owner, address indexed spender, uint256 value);
    69  }
    70  
    71  interface IWETH {
    72      function withdraw(uint) external;
    73      function deposit() external payable;
    74  }