TLDR: PNG pools get 10x PNG rewards per dollar of liquidity provided.
We should immediately increase the amount of PNG earned by PNG liquidity providers, and reduce non-PNG liquidity providers.
To do this, we need to migrate to a new LiquidityPoolManager called LiquidityPoolManagerV2. The new contract adds three key pieces of functionality:
All pools will now receive a weight. PNG will be distributed to the pools based on their proportion of liquidity multiplied by the pool weight. For example: If there are two pools, one with a weight of 100 and another with a weight of 200, the 200 weight pool will earn twice as much PNG per dollar of liquidity.
Pools must have an initial weight when added to the contract. Pool weights may be changed through governance.
There are two classes of pools, AVAX pools and PNG pools. This change introduces the ability to split daily rewards so that a fixed percentage of the daily rewards go to AVAX pools and the rest go to PNG pools, regardless of the relative liquidity between the two groups of pools. For example: Say the system has two pools, an AVAX pool and a PNG pool that both have $100 of liquidity in them. If we activate PNG Splitting with a 75/25 PNG/AVAX split, the PNG pool will earn 75% of the daily rewards regardless of the pool weights.
When combined with pool weights, the weights only apply within the given pool's split. Reward share can be calculated as split * share of total weight*.
The AVAX/PNG pair is currently classified as an AVAX pool. The new contract reclassifies it as a PNG pool.
The same pools will be incentivized in the new contract as the original. All AVAX pools will be initialized with a weight of 100. All PNG pools will be initialized with a weight of 1000. This effectively incentivizes PNG pools 10x over AVAX pools.
This value was chosen by comparison to SushSwap and PancakeSwap. SushiSwap incentivizes their SUSHI/ETH pool about 5x over a regular pool. PancakeSwap has a 40x multiplier on their CAKE-BNB pool. 10x is a competitive middleground.
The PNG splitting will NOT be activated initially but can be activated by future governance.
Moving to a new LiquidityPoolManager contract will require the creation of new Staking contracts for each pool. Users will have to unstake and restake all of their PGL tokens to continue earning rewards after the switch. Compounding applications will also need to update their code and may require user action. Unfortunately, these upgrades are not possible without this change.
The actual code invoked by the Timelock contract will be to change the daily rewards distributed by the TreasuryVester to be sent to the LiquidityPoolManagerV2 rather than the original LiquidityPoolManager.
Code available here: https://github.com/pangolindex/governance/blob/master/contracts/LiquidityPoolManagerV2.sol