Implantando garantia inativa para pares stable-stable no Uni v3 com FRAX
A principal inovaĆ§Ć£o do algoritmo AMM do Uniswap v3, permitindo que os LP implantem liquidez entre intervalos de preƧo especĆficos, permite que os pares de stablecoin-to-stablecoin (por exemplo, FRAX-USDC) acumulem liquidez extremamente profunda dentro de um pino apertado. Em comparaĆ§Ć£o com o Uniswap v2, o intervalo de ordens no Uniswap v3 concentra a liquidez em vez de se espalhar por um intervalo infinito de preƧos.
O Uniswap v3 Liquidity AMO coloca a FRAX e garantia para trabalhar, fornecendo liquidez a outros stablecoins contra o FRAX. Uma vez que o AMO Ć© capaz de entrar em qualquer posiĆ§Ć£o no Uni v3 e cunhar FRAX contra ele, este permite a expansĆ£o para qualquer outra stablecoin e, posteriormente, garantia volĆ”til no Uni v3. Adicionalmente, a funĆ§Ć£o collectFees() pode ser periodicamente chamada para alocar os lucros da AMO para operaƧƵes de mercado de garantia excedente.
Retirada de garantia - Deposita a garantia inativa e a FRAX acabada de cunhar no par Uni v3.
OperaƧƵes de mercado - Acumula taxas de transaĆ§Ć£o Uni v3 e efetua swap entre tipos de garantias.
Criar garantia adicional - Retira dos pares Uni v3, queima FRAX e retorna USDC para aumentar CR.
FXS1559 - Taxas de transaĆ§Ć£o diĆ”rias acumuladas sobre o CR.
Todos os preƧos existem como rĆ”cios entre uma entidade e outra. Convencionalmente, selecionamos uma moeda como unidade de conta partilhada no denominador (por exemplo, USD) para comparar preƧos de bens e serviƧos do dia a dia. No Uniswap, os preƧos sĆ£o definidos pelo rĆ”cio entre os valores das reservas de x e as reservas de y na pool.
A mecĆ¢nica da ordem de intervalo do Uniswap v3 ajusta-se Ć invariante de criaĆ§Ć£o de mercado de produto constante (CPMM) existente xāy=k "virtualizando" as reservas num ponto de preƧo especĆfico, ou tick. AtravĆ©s da especificaĆ§Ć£o em que o tick de uma posiĆ§Ć£o de liquidez Ć© limitada, sĆ£o criadas ordens de intervalo que seguem a invariante de produto constante sem ter de espalhar a liquidez por todo o intervalo (0, ā) para um ativo especĆfico.
Um preƧo no Uniswap v3 Ć© definido pelo valor 1.0001 para o valor do tick i. Os limites para os preƧos dos ticks podem ser representados pelo grupo algĆ©brico G = {giā£iāZ, g = 1,0001}. Este mecanismo permite a fĆ”cil conversĆ£o de nĆŗmeros inteiros em limites de preƧos, e tem a conveniĆŖncia de diferenciar cada limite de preƧo do tick como um ponto base (0,01%) no preƧo de outro.
As reservas virtuais sĆ£o rastreadas, rastreando a liquidez e limites do tick de cada posiĆ§Ć£o. Cruzando o limite de um tick, a liquidez L disponĆvel para esse tick pode variar para refletir as posiƧƵes que entram e saem dos seus respetivos intervalos de preƧo. Dentro dos limites do tick, os swaps variam o preƧo sqrt(P), de acordo com as reservas virtuais, ou seja, este atua como a invariante de produto constante (xāy=k). As reservas virtualizadas x e y podem ser calculadas desde a liquidez e preƧo:
Repare que a implementaĆ§Ć£o real usa uma raiz quadrada do preƧo, uma vez que salva uma operaĆ§Ć£o de raiz quadrada do cĆ”lculo de swaps intra-tick e, assim, ajuda a evitar erros de arredondamento.
A liquidez pode ser pensada como um k virtual no xāy=k CPMM, enquanto que o ĪY corresponde ao valor do ativo Y e o ĪP representa a derrapagem de preƧo do intra-tick.
Uma vez que L Ć© fixo para swaps intra-tick, ĪX e ĪY podem ser calculados a partir da liquidez e da raiz quadrada do preƧo. Ao cruzar um tick, o swap deve deslizar apenas atĆ© ao P, limite, e entĆ£o reajustar a liquidez disponĆvel para o prĆ³ximo tick.