Created
December 14, 2018 16:44
-
-
Save kcole16/6787398822754cc1f8ee4f08a1e566f5 to your computer and use it in GitHub Desktop.
Uniswap Solidity Interfaces
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| pragma solidity ^0.5.1; | |
| contract Factory { | |
| function createExchange(address token) public returns (address); | |
| function getExchange(address token_addr) public view returns (address); | |
| function getToken(address exchange) public view returns (address); | |
| function getTokenWithId(uint256 token_id) public view returns (address); | |
| } | |
| contract Exchange { | |
| // Providing Liquidity | |
| function addLiquidity(uint256 min_liquidity, uint256 max_tokens, uint deadline) public returns (uint256); | |
| function removeLiquidity(uint256 amount, uint256 min_eth, uint256 min_tokens, uint deadline) public returns (uint256, uint256); | |
| // Trading | |
| function ethToTokenSwapInput(uint256 min_tokens, uint deadline) public returns (uint256); | |
| function ethToTokenTransferInput(uint256 min_tokens, uint deadline, address recipient) public returns (uint256); | |
| function ethToTokenSwapOutput(uint256 tokens_bought, uint deadline) public returns (uint256); | |
| function ethToTokenTransferOutput(uint256 tokens_bought, uint deadline, address recipient) public returns (uint256); | |
| function tokenToEthSwapInput(uint256 tokens_sold, uint256 min_eth, uint deadline) public returns (uint256); | |
| function tokenToEthTransferInput(uint256 tokens_sold, uint256 min_eth, uint deadline, address recipient) public returns (uint256); | |
| function tokenToEthSwapOutput(uint256 eth_bought, uint256 max_tokens, uint deadline) public returns (uint256); | |
| function tokenToEthTransferOutput(uint256 eth_bought, uint256 max_tokens, uint deadline, address recipient) public returns (uint256); | |
| function tokenToTokenSwapInput(uint256 tokens_sold, uint256 min_token_bought, uint256 min_eth_bought, uint deadline, address token_addr) public returns (uint256); | |
| function tokenToTokenTransferInput(uint256 tokens_sold, uint256 min_token_bought, uint256 min_eth_bought, uint deadline, address recipient, address token_addr) public returns (uint256); | |
| function tokenToTokenSwapOutput(uint256 tokens_bought, uint256 max_tokens_sold, uint256 max_eth_sold, uint deadline, address token_addr) public returns (uint256); | |
| function tokenToTokenTransferOutput(uint256 tokens_bought, uint256 max_tokens_sold, uint256 max_eth_sold, uint deadline, address recipient, address token_addr) public returns (uint256); | |
| function tokenToExchangeSwapInput(uint256 tokens_sold, uint256 min_token_bought, uint256 min_eth_bought, uint deadline, address exchange_addr) public returns (uint256); | |
| function tokenToExchangeTransferInput(uint256 tokens_sold, uint256 min_token_bought, uint256 min_eth_bought, uint deadline, address recipient, address exchange_addr) public returns (uint256); | |
| function tokenToExchangeSwapOutput(uint256 tokens_bought, uint256 max_tokens_sold, uint256 max_eth_sold, uint deadline, address exchange_addr) public returns (uint256); | |
| function tokenToExchangeTransferOutput(uint256 tokens_bought, uint256 max_tokens_sold, uint256 max_eth_sold, uint deadline, address recipient, address exchange_addr) public returns (uint256); | |
| // Get Price | |
| function getEthToTokenInputPrice(uint256 eth_sold) public view returns (uint256); | |
| function getEthToTokenOutputPrice(uint256 tokens_bought) public view returns (uint256); | |
| function getTokenToEthInputPrice(uint256 tokens_sold) public view returns (uint256); | |
| function getTokenToEthOutputPrice(uint256 eth_bought) public view returns (uint256); | |
| // Public Variables | |
| function tokenAddress() public view returns (address); | |
| function factoryAddress() public view returns (address); | |
| // Pool Token ERC20 Compatibility | |
| function balanceOf() public view returns (address); | |
| function allowance(address _owner, address _spender) public view returns (uint256); | |
| function transfer(address _to, uint256 _value) public returns (bool); | |
| function transferFrom(address _from, address _to, uint256 _value) public returns (bool); | |
| function approve(address _spender, uint256 _value) public returns (bool); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment