Factory
#
CodeAddress
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
#
PairCreatedevent PairCreated(address indexed token0, address indexed token1, address pair, uint);
Emitted each time a pair is created via createPair.
token0
is guaranteed to be strictly less thantoken1
by sort order.- The final
uint
log value will be1
for the first pair created,2
for the second, etc. (see allPairs/getPair).
Read-Only Functions
#
getPairfunction 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
).
tokenA
andtokenB
are interchangeable.- Pair addresses can also be calculated deterministically via the SDK.
#
allPairsfunction allPairs(uint) external view returns (address pair);
Returns the address of the n
th pair (0
-indexed) created through the factory, or address(0)
(0x0000000000000000000000000000000000000000
) if not enough pairs have been created yet.
- Pass
0
for the address of the first pair created,1
for the second, etc.
#
allPairsLengthfunction allPairsLength() external view returns (uint);
Returns the total number of pairs created through the factory so far.
#
feeTofunction feeTo() external view returns (address);
See Protocol Charge Calculation.
#
feeToSetterfunction feeToSetter() external view returns (address);
The address allowed to change feeTo.
State-Changing Functions
#
createPairfunction createPair(address tokenA, address tokenB) external returns (address pair);
Creates a pair for tokenA
and tokenB
if one doesn't exist already.
tokenA
andtokenB
are 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