Factory

Lovely Swap is a highly customized version of Uniswap v2. It contains additional logic and constraints around validating and listing token pairs.

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: LovelyFactory

View Lovely Swap Factory.sol on GitHub.

ChainAddress

BSC

0x7db16925214B2F5D65dB741D59208A1187B9961c

Base

0x7db16925214B2F5D65dB741D59208A1187B9961c

Polygon

0x177aeb3727c91c4796766336923c4da431c59637

X Layer

0x364ba5dfd5920bd4a82d2ae3fa392da187f7331e

Read functions

SetDefaultValidationAmount

event SetDefaultValidationAmount(uint amount)

Emitted when the defaultValidationAmount is updated.

SetMainToken

event SetMainToken(address token)

Emitted when the mainToken is set.

PairCreated

event 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 than token1 by sort order.

  • The final uint log value will be 1 for the first pair created, 2 for the second, etc. (see allPairs/getPair).

Read-Only Functions

getTokenList

function getTokenList() external view returns (LOVELYTokenList)

Returns the on-chain token list reference.

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).

  • tokenA and tokenB are 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 0 for the address of the first pair created, 1 for 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

createValidatedPair

function createValidatedPair(
  address tokenA,
  address tokenB,  
  address tokenC, 
  uint validationAmount,
  uint fee    
) external returns (address pair)

Creates a validated token pair. Calls LOVELYTokenList to ensure tokens are valid and activated.

Enforces constraints around the main token if set and minimum validation amounts.

setDefaultValidationAmount

function setDefaultValidationAmount(uint amount) external

Sets the default validation amount required to list new pairs.

setMainToken

function setMainToken(address token) external

Sets the main DEX token. New pairs must contain this token.

Last updated