🔀Virtual Omnipool and Tails
The omnipool is a set of liquidity pools [tails] linked by a synthetic asset [tCHOKE]. It does not handle any assets on its own, but instead has the capability of deploying new tails and managing the relationship between all the created tails.
It can be deployed on top of any V3 AMM with little to no modifications. In that sense, the Omnipool is AMM agnostic, as far as the AMM handles tick spacing and liquidity minting with the same interface as Uniswap V3.
The Virtual Omnipool is represented in the Artichoke ecosystem by the TailFactory.sol contract and is responsible for handling all the relationships & linking data within an omnipool instance, as well as providing all the data needed for the creation of Tail Managers.
Tail Manager
Tail Managers can only be deployed within an omnipool by their respective TailFactory. They are the main entrypoint for user flow in the Artichoke ecosystem, as they are the only contract the users interact with when depositing and managing liquidity.
When deployed, they create and initialize a liquidity pool (if it does not yet exist) for the Tail Asset (TA) and tChoke.
In Artichoke V1, liquidity will be provided in full range, equivalent to liquidity added to a V2 AMM.
Despite behaving similarly, V3 AMM Liquidity Pools are a key part of the protocol as they act as a decentralized price reference oracle enabling the calculation of the TWAP exchange ratio between any pair of assets.
When a user wants to deposit liquidity in a tail, they will only provide Tail Asset and the linking asset tChoke counterpart will be minted based on two main parameters:
Current exchange ratio of the underlying liquidity pool
Current available liquidity / debt ceiling in USDC. This is represented by the exchange ratio of tCHOKE / USDC
The tail manager then holds the Liquidity Position on behalf of the user and issues a receipt of the position. The user will be able to interact with the position as if they are actually holding it, and the tail manager will benefit from any additional features that the AMM implements on top of the liquidity provision such as liquidity mining, boosting rewards and most importantly, swap fees.
When the user withdraws the position, there are two possible scenarios:
The Tail Asset price went down during the duration of the position. This will result in a higher amount of Tail Asset than was deposited. Half of the position plus half of the swap fees will be returned to the user. The other half will be split and half of it will be rebought to tChoke to be burned and half as Choke that will be redistributed to Choke stakers in the staking sections.
The Tail Asset price went up during the duration of the position. This will result in a higher amount of tCHOKE than what was minted.
Last updated