# 
        Factory v2
    
PlunderSwap is based on Uniswap v2. Read the Uniswap v2 documentation.
For more in-depth information on the core contract logic, read the Uniswap v2 Core whitepaper.
        # 
        Contract info
    
Contract name: PlunderSwapFactory
View PlunderSwapFactory.sol on GitHub. All contracts are verified on https://sourcify.dev/#/lookup. Ziliqas new block explorer (Otterscan, coming soon to mainnet), will also take data from sourcify.
Zilliqa EVM MainNet\
        # 
        Read functions
    
        # 
        getPair
    
function getPair(address tokenA, address tokenB) external view returns (address pair);
Address for tokenA and address for tokenB return address of pair contract (where one exists).
tokenA and tokenB order is interchangeable.
Returns 0x0000000000000000000000000000000000000000 as address where no pair exists.
        # 
        allPairs
    
function allPairs(uint) external view returns (address pair);
Returns the address of the nth pair (0-indexed) created through the Factory contract.
Returns 0x0000000000000000000000000000000000000000 where pair has not yet been created.
Begins at 0 for first created pair.
        # 
        allPairsLength
    
function allPairsLength() external view returns (uint);
Displays the current number of pairs created through the Factory contract as an integer.
        # 
        feeTo
    
function feeTo() external view returns (address);
The address to where non-LP-holder fees are sent.
        # 
        feeToSetter
    
function feeToSetter() external view returns (address);
The address with permission to set the feeTo address.
        # 
        Write functions
    
        # 
        createPair
    
function createPair(address tokenA, address tokenB) external returns (address pair);
Creates a pair for tokenA and tokenB where a pair doesn't already exist.
tokenA and tokenB order is interchangeable.
Emits PairCreated (see Events).
        # 
        setFeeTo
    
Sets address for feeTo.
        # 
        setFeeToSetter
    
Sets address for permission to adjust feeTo.
        # 
        Events
    
        # 
        PairCreated
    
event PairCreated(address indexed token0, address indexed token1, address pair, uint);
Emitted whenever a createPair creates a new pair.
token0 will appear before token1 in sort order.
The final uint log value will be 1 for the first pair created, 2 for the second, etc.
        # 
        Interface
    
import '@uniswap/v2-core/contracts/interfaces/IPlunderSwapFactory.sol';
pragma solidity =0.5.16;
interface IPlunderSwapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() 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 setFeeTo(address) external;
    function setFeeToSetter(address) external;
}