Supported DEX Pools
July 23, 2020, 12:29 a.m.
Platforms Requiring Active Support
Platforms With Native Support
Why do some DEX pools require "support" and what does "support" mean?
The AMPL has a unique supply adjustment mechanism, called rebase. The rebase operation automatically updates all wallet balances according to demand in the marketplace. This also includes all contract balances, including DEX pools.
Some platforms are coded to read AMPL balances directly from the underlying token. These work natively with AMPL, and add no extra risk to Liquidity Providers or traders compared to other pools on those platforms. (See: "Platforms with Full Native Support")
However, other DEXes cache a copy of token balances in their own contract code, separate from the normal token accounting. This parallel accounting can get out-of-sync with the actual AMPL balances when a rebase happens. These platforms therefore require notification to re-read the underlying AMPL balance and update their internal accounting numbers.
Active Support means these pool updates occur atomically within the rebase transaction itself. Actively supported pools add no extra risk to LPs compared to other non-AMPL pools on those platforms.
For Uniswap V2, this is done via the sync() call.
For Balancer, this is done via the gulp() call.
Requests for New Pools
If you would like a new pool to be added, please follow the Ampleforth Configuration Change Proposal (ACCP) process. It may be helpful to first consult with the community to see if there's sufficient support. A good place to do that is in the Ampleforth Discord.
Overall, the intention is to be conservative with what's added. Each supported pool adds gas requirements onto the rebase transaction, and once a pool is supported it's difficult to remove safely for LPs.
Finally--because of the risks involved to LPs, please coordinate support before creating the pool!