Skip to content

Instantly share code, notes, and snippets.

@kcole16
Created December 14, 2018 16:44
Show Gist options
  • Select an option

  • Save kcole16/6787398822754cc1f8ee4f08a1e566f5 to your computer and use it in GitHub Desktop.

Select an option

Save kcole16/6787398822754cc1f8ee4f08a1e566f5 to your computer and use it in GitHub Desktop.
Uniswap Solidity Interfaces
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