Introduction
On Uniswap V3 AMM, any Liquidity Providers can call ‘Mint’ function to add liquidity. MethLab Swap adds additional access control to allow for whitelisting. The AMM logic remains unchanged. Whitelisting can be enabled, disable and eliminated all together. MethLab Swap implement a secure Automated-Market-Maker with whitelisting without breaking changes to Uniswap v3.
Whitelisting enables MethLab to secure concentrated liquidity from the market-makers, ensuring to ensure lower slippage and price impact.
Specification Sheet
- Modification MUST only change the POOL, and the FACTORY contract.
- Modification of FACTORY contract MUST ONLY change the POOL implementation.
- WHITELISTING contract MUST only hold the Whitelisting logic.
- WHITELISTING contract MUST hold ALL the Whitelisting logic.
- Swap MUST only change the MINT function.
- Swap MUST NOT change any Automated-Market-Maker logic.
- There MUST only exist two Stages of Pool contract.
- Stage change CAN ONLY be called by GOVERNANCE.
- ONLY two Stages MUST exist; WHITELIST ON and, WHITELIST ELIMINATED.
- WHITELIST ELIMINATED CAN ONLY be ACTIVATED once.
- WHITELIST ELIMINATED Stage MUST disable ALL Whitelisting logic.
- WHITELIST ELIMINATED once ACTIVATED, CAN NOT be changed to any other Stage.
- There are ONLY two Phases of WHITELIST ON Stage; WHITELISTED ENABLED, and WHITELISTED DISABLED.
- Phase change MUST only be called by GOVERNANCE.
- Phase change MAY BE called multiple times.
- During WHITELISTED ENABLED PHASE, ONLY WHITELISTED ADDRESS(ES) can call the MINT function.
- During WHITELISTED DISABLED PHASE, ANY valid address can call the MINT function.
- ALL Liquidity Providers MUST be able to call ANY function other than MINT IRRESPECTIVE of Stage OR Phase.
Legend
- Bold & CAPITALISED: Operating words
- CAPITALISED: Contracts, Contract Functions, Contract States, Address(es).
- Bold: Defined separately
null