V2Factory
The Factory contract is responsible for creating and managing unique liquidity pools for various token pairs. The receiver of the trading fees among these liquidity pools is set on this contract.
The full contract can be found here.
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
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.
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.
Parameters
| Name | Type | Description |
|---|---|---|
tokenA | address | address of one of the tokens in the pair |
tokenB | address | address of the other token in the pair |
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);
Returns the address of where the feeTo is set to. If address(0) then the fees are not turned on.
feeToSetter
function feeToSetter() external view returns (address);
The address allowed to change feeTo.
migrator
function migrator() external view returns (address);
Returns the address of the migrator contract (used to migrate liquidity initially from uniswap to ultronswap).
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.
tokenAandtokenBare interchangeable.
| Name | Type | Description |
|---|---|---|
tokenA | address | address of one of the tokens in the pair |
tokenB | address | address of the other token in the pair |
setFeeTo
function setFeeTo(address _feeTo) external;
Sets the feeTo
Parameters
| Name | Type | Description |
|---|---|---|
_feeTo | address | address of where to send protocol fees to |
setMigrator
function setMigrator(address _migrator) external;
Sets the migrator.
setFeeToSetter
function setFeeToSetter(address _feeToSetter) external;
Sets the feeToSetter.
Parameters
| Name | Type | Description |
|---|---|---|
_feeToSetter | address | address that can change the feeTo address |
Interface
pragma solidity >=0.5.0;
interface IUniswapV2Factory {
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
function feeTo() external view returns (address);
function initialDaoSetter() external view returns (address);
function daoAddress() external view returns (address);
function routerAddress() external view returns (address);
function treasuryAddress() external view returns (address);
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 createPair(address tokenA, address tokenB) external returns (address pair);
function setDAOContractInitial(address) external;
function setFeeTo(uint) external;
function setTreasuryAddress(uint) external;
function setRouterAddress(uint) external;
function setDao(uint) external;
}