Exchange

This is a smart contract to expand ERC-20 that is created with every liquidity pair. The Factory deploys this as new pool creation is requested. Although the Factory actually stores the two tokens of a pair and swapping takes place through it, the Exchange Contract must be called for liquidity to be provided or taken.

Code

Github Link: (Will be updated after official launch)

Address

Contract address after production is deployed

Events, Read-Only Functions, and State-Changing Functions

Events

Transfer

event Transfer(address indexed from, address indexed to, uint amount);
  • ERC-20 Standard

  • Event log of Transfer/Mint/Burn

Approval

event Approval(address indexed holder, address indexed spender, uint amount);
  • ERC-20 Standard

  • Event log of Approvals

ChangeMiningRate

event ChangeMiningRate(uint _mining);
  • Event log of mining rate change

ChangeFee

event ChangeFee(uint _fee);
  • Event log of trading fee rate changes

ChangeRateNumerator

event ChangeRateNumerator(uint rateNumerator);
  • Event log of rateNumerator changes

UpdateMiningIndex

event UpdateMiningIndex(uint lastMined, uint miningIndex);
  • Event log of pairs’ mining index changes

  • lastMined : Factory.mined() value at the time index is updated

  • miningIndex : pairs’ miningIndex value at the time

GiveReward

event GiveReward(address user, uint amount, uint lastIndex, uint rewardSum);
  • Event log of when mined MESH is claimed and distributed

  • user : address of the user who claimed

  • amount : the amount of MESH claimed

  • lastIndex : index result of the pair of the wallet after claiming

  • rewardSum : The amount of MESH that has been accrued so far

ExchangePos

event ExchangePos(address token0, uint amount0, address token1, uint amount1);
  • Event log of POS transactions

  • token0 : Token address delivered by the user

  • amount0 : the amount of tokens delivered by the user

  • token1 : token address received by user

  • amount1 : the amount of tokens received by the user

ExchangeNeg

event ExchangeNeg(address token0, uint amount0, address token1, uint amount1);
  • Event log of NEG transactions

  • token0 : token address delivered by the user

  • amount0 : the amount of tokens delivered by the user

  • token1 : token address received by the user

  • amount1 : the amount of tokens received by the user

AddLiquidity

event AddLiquidity(address user, address token0, uint amount0, address token1, uint amount1, uint liquidity);
  • Event log of liquidity additions

  • liquidity : the amount of LP tokens minted due to additional liquidity

RemoveLiquidity

event RemoveLiquidity(address user, address token0, uint amount0, address token1, uint amount1, uint liquidity);
  • Event log of liquidity removals

  • liquidity : the amount of LP tokens burned due to liquidity removal

Sync

event Sync(uint112 reserveA, uint112 reserveB);
  • Emitted each time reserves are updated.

  • Parameters

    • pool : Pool contract address of target pool

    • reserveA : Token0 liquidity amount

    • reserveB : Token1 liquidity amount

Last updated