(banteg)
nosso residente @FP_Crypto me lembrou de um ótimo recurso nos pools
#uniswapv3 ao fazer negociações de baixo nível.
leia o primeiro trecho com atenção. quando você negocia diretamente com um pool, ele primeiro envia a saída do swap. então ele faz um retorno de chamada para o seu contrato e somente quando o controle é retornado ele verifica se você enviou os tokens de entrada.
esse pequeno truque de viagem no tempo permite coisas como alavancagem/desalavancagem. por exemplo, aqui eu usei-o para desenrolar uma posição de linha de base, trocando a garantia ainda a ser desbloqueada por Weth.
infelizmente não funciona neste caso, por causa do bloqueio de reentrada. a chamada de reembolso deposita instantaneamente o valor recuperado na posição mínima, lembrando-o, e ainda estamos no retorno de chamada quando isso acontece.
codifiquei uma versão diferente com um recurso de flashloan de backup, portanto, fique atento!
p.s. O propulsor (uni v3 on blast) removeu a função de flash, mas ignorou o recurso de flash na troca.