Files
uniswap-v2/contracts/UniswapETHFactory.sol
haydenadams d1525383e2 fixes
2019-09-24 17:20:00 -04:00

26 lines
841 B
Solidity

pragma solidity ^0.5.11;
import "./UniswapETH.sol";
contract UniswapETHFactory {
event NewExchange(address indexed token, address indexed exchange);
uint256 public tokenCount;
mapping (address => address) public getExchange;
mapping (address => address) public getToken;
mapping (uint256 => address) public getTokenWithId;
function createExchange(address token) public returns (address) {
require(token != address(0), 'INVALID_INPUT');
require(getExchange[token] == address(0), 'EXCHANGE_EXISTS');
UniswapETH exchange = new UniswapETH(token);
getExchange[token] = address(exchange);
getToken[address(exchange)] = token;
uint256 tokenId = tokenCount + 1;
tokenCount = tokenId;
getTokenWithId[tokenId] = token;
emit NewExchange(token, address(exchange));
return address(exchange);
}
}