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 updatedminingIndex
: 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 claimedamount
: the amount of MESH claimedlastIndex
: index result of the pair of the wallet after claimingrewardSum
: 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 useramount0
: the amount of tokens delivered by the usertoken1
: token address received by useramount1
: 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 useramount0
: the amount of tokens delivered by the usertoken1
: token address received by the useramount1
: 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