Migrate Superfluid Supercharged positions to a Wider Range

This proposal approves migrating Superfluid positions in Supercharged pools to a wider full range in a future software upgrade.

Impacted liquidity positions would be adjusted from a minimum spot price of 10^-12 to 10^-30, keeping the number of Supercharged pool types to maintain at one but slightly reducing capital efficiency.

Background

Supercharged Liquidity pools have been live on Osmosis since the V16 upgrade.

Most quote assets have a six decimal accuracy (exponent), as this is typical with tokens minted on Cosmos chains. EVM tokens typically have a decimal accuracy of eighteen.

This means that the minimum price of the smallest unit of an EVM token is equal to 10^-12 of the quote asset, effectively scaling the asset’s spot price down by 10^12.

The initial implementation of Supercharged pools only supported a minimum spot price of 10^-12 in order to accelerate the launch process. This made any use of pairings with the possibility of the price decreasing under a 1:1 ratio, e.g.MATIC/USDT with a current 0.55:1 ratio, impossible until the technical issues behind storing more extreme comparative spot prices were resolved.

Implemented Solution

The minimum spot price has been able to be reduced. However, this now changes what full range refers to in a Supercharged pool from having a lower bound of 10^-12 to having a lower bound of 10^-30.

This adjustment in the minimum spot price has introduced two potential approaches:

  • Maintaining two versions of liquidity pools, each with a different minimum spot price (10^-12 for pre-upgrade and 10^-30 for post-upgrade).
  • Implementing an upgrade handler migration of full range positions from the 10^-12 minimum spot price range to the 10^-30 range.

Maintenance or Migration

Maintaining two versions of Supercharged pools will cause an increase in difficulty in future developments.

  • All work on the Osmosis chain code must be duplicated for the two minimum spot prices.

  • All integrations will also have to differentiate which pool type each asset uses, slowing the development of all frontends.

There are also direct performance losses by calculations having to iterate over two pool types, which may not be directly compared.

The main impact of migration is that these positions will now occupy a wider range than before. As with Supercharged pools allowing liquidity to be concentrated to increase capital efficiency, this reduction in the concentration of a full range position brings with it a reduction in the capital efficiency of full range positions.

The worst-case impact of this is calculated to be a 0.01 percent reduction in capital efficiency in the current lowest spot price pool and so can be considered to be negligible. For most pools the impact would be orders of magnitude smaller as they have a higher spot price.

The migration also carries a risk by directly impacting the chain state and user positions. However, it is the better option for development sustainability. This risk must be mitigated as much as possible.

Migration Risk Mitigation

The migration is proposed to be carried out only on Superfluid positions as only these are required to be full range.

The previous “full range” pools that are not Superfluid can continue to exist on the previously established range within the new range as a custom position.

Only Superfluid positions will then be affected by this migration, reducing the number of users and the amount of liquidity affected by the upgrade handler changes and so reducing overall risk.

The risk to the impacted positions will be minimized through thorough testing on a copy of mainnet state before the upgrade is performed. Most of the code changes necessary for this refactor have been made state-compatible with the original notion of the full range. As a result, they can be backported to the current mainnet binary and be tested more fully against a real node.

Target On-chain date: 15th September 2023

1 Like

Damn, this one really asks for a ELI5 TL:DR before it goes on chain. Otherwise we will lose a lot of people along the way. A large part is already covered, but the technical terms might throw people of.

For the rest, ok with this. If I understand it correctly this will also allow XXXX/ETH Supercharged pools to be created as a consequence if this passes?

You can probably tell how technical of a document this was before I started converting it to proposal language! :sweat_smile:

Summary:

  • Pools like XXX/ETH will be available in the next upgrade regardless of this decision.
  • This needed a change to how Supercharged pools are implemented, which is not fully backwards compatible.
  • Either we have two types of pools from the next upgrade which support two ideas of “Full Range” which causes development complications that will only compound as we build or we migrate bonded liquidity to a slightly wider range.
  • This carries a really small capital efficiency loss on Superfluid positions and the obvious risk of directly changing user positions to the new range and so there are the two mitigations in there of only touching Superfluid positions and enhanced testing.

Nice TL:DR ^^

I fully agree that you shouldn’t want “old-style” and “new-style” pools. That would truly be a terrible idea imo.

I was already ok with it, but with this added it becomes better, maybe rewritten a bit to not be an answer to my questions, but it is already coming close :slight_smile: