Factory
Code#
Address
UniswapV2Factory is deployed at 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f on the Ethereum mainnet, and the Ropsten, Rinkeby, Görli, and Kovan testnets. It was built from commit 8160750.
Events
PairCreated#
event PairCreated(address indexed token0, address indexed token1, address pair, uint);Emitted each time a pair is created via createPair.
token0is guaranteed to be strictly less thantoken1by sort order.- The final
uintlog value will be1for the first pair created,2for the second, etc. (see allPairs/getPair).
Read-Only Functions
getPair#
function getPair(address tokenA, address tokenB) external view returns (address pair);Returns the address of the pair for tokenA and tokenB, if it has been created, else address(0) (0x0000000000000000000000000000000000000000).
tokenAandtokenBare interchangeable.- Pair addresses can also be calculated deterministically via the SDK.
allPairs#
function allPairs(uint) external view returns (address pair);Returns the address of the nth pair (0-indexed) created through the factory, or address(0) (0x0000000000000000000000000000000000000000) if not enough pairs have been created yet.
- Pass
0for the address of the first pair created,1for the second, etc.
allPairsLength#
function allPairsLength() external view returns (uint);Returns the total number of pairs created through the factory so far.
feeTo#
function feeTo() external view returns (address);See Protocol Charge Calculation.
feeToSetter#
function feeToSetter() external view returns (address);The address allowed to change feeTo.
State-Changing Functions
createPair#
function createPair(address tokenA, address tokenB) external returns (address pair);Creates a pair for tokenA and tokenB if one doesn't exist already.
tokenAandtokenBare interchangeable.- Emits PairCreated.
Interface
import '@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol';pragma solidity >=0.5.0;
interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint);
function feeTo() external view returns (address); function feeToSetter() external view returns (address);
function createPair(address tokenA, address tokenB) external returns (address pair);}ABI
import IUniswapV2Factory from "@uniswap/v2-core/build/IUniswapV2Factory.json";https://unpkg.com/@uniswap/v2-core@1.0.0/build/IUniswapV2Factory.json