sCIP#46 - Gauge substitution on Fantom


There is a small issue with the FUSDT pool on Fantom which results in the pool returning incorrect value when querying the get_dy() method. This method returns the exchange rate and the pool is reporting a lower exchange rate than what it can actually receive if the user performs the swap. This is in itself not a major issue but there are now two new pools with FUSDT which means our router can fail to route a trade to the FUSDT even if it actually has the better exchange rate. This also means that aggregators fail to see the real exchange rate on rate and Curve loses volume.
No funds are at risk, the pool is just getting less trading volume than it could if it was behaving normally.

For this reason, we are proposing something a bit unconventional: because of the sidechain gauge set-up, there is an option to redirect rewards from one pool to another on Fantom which means we could technically redirect the rewards to the GEIST pool.
As the Geist team has requested a gauge there: Add a gauge for the Fantom gPool (with Geist rewards and bribes), we are proposing to immediately redirect rewards from FUSDT to GEIST. This would mean:

  • any vote towards the FUSDT immediately becomes a GEIST vote
  • we don’t need to kill the FUSDT gauge via a DAO vote (and avoid destroying CRV emissions aimed at that gauge)
  • the GEIST pool does not need a gauge vote and will redirect their planned incentives towards gauge weight bribes
  • we encourage liquidity providers to move towards a pool that behaves correctly