(banteg)
nuestro residente @FP_Crypto me recordó una gran característica en
#uniswapv3 pools al realizar operaciones de bajo nivel.
Lea atentamente el primer fragmento. cuando opera directamente con un pool, primero le envía la salida del swap. luego realiza una devolución de llamada a su contrato y solo cuando se devuelve el control, verifica que le haya enviado los tokens de entrada.
Este pequeño truco de viaje en el tiempo permite cosas como apalancamiento/desapalancamiento. por ejemplo, aquí lo usé para deshacer una posición base intercambiando garantías aún por desbloquear por wet.
Desafortunadamente, no funciona en este caso debido al bloqueo de reentrada. la llamada de pago deposita instantáneamente el weth recuperado en la posición mínima al recordarlo, y todavía estamos en la devolución de llamada cuando esto sucede.
He codificado una versión diferente con una función de préstamo flash de respaldo, ¡así que estad atentos!
PD. Thruster (uni v3 en explosión) ha eliminado la función de flash pero ha pasado por alto la función de flash en el intercambio.