diff --git a/README.es-ES.md b/README.es-ES.md new file mode 100644 index 0000000..fadee5c --- /dev/null +++ b/README.es-ES.md @@ -0,0 +1,32 @@ +# aave-unwind + +## Contrato + +[`Unwind.sol`](./src/Unwind.sol) puede ser utilizado por los usuarios para deshacer sus posiciones apalancadas mediante: +1. Un flashloan del activo de deuda/prestado desde Balancer/Aave-v3. +2. El pago de la deuda con los activos obtenidos del flashloan. +3. El retiro del colateral liberado. +4. El intercambio (dumping) del colateral liberado por el activo de la deuda. +5. El pago del flashloan utilizando el colateral intercambiado. + +Esto permite a los usuarios deshacer sus posiciones apalancadas sin tener que pasar por múltiples ciclos de transacciones de retiro de colateral, intercambio y pago de deuda, utilizando flashloans. + +Nota: Los usuarios deben aprobar su aToken de colateral al contrato para que este pueda ejecutar `tranferFrom` del usuario y retirar el colateral. + +Al finalizar la transacción `Unwind.unwind`, todos los activos restantes de colateral y tokens de deuda son devueltos al usuario. + +--- + +Se puede escribir un contrato y script similar para aumentar el apalancamiento. Quizás sea algo para el futuro si encuentro un uso personal para ese caso. Los nuevos usuarios también pueden usar herramientas como DefiSaver o los DSAs de InstaDapp para abrir/cerrar posiciones apalancadas. Personalmente, necesité este script para una posición existente en una EOA. + +--- + +Este repositorio puede servir como un buen ejemplo de cómo integrar y utilizar flashloans de forma segura con las verificaciones pertinentes en los callbacks, forge FFI en los scripts, y también, en general, cómo puedes usar los scripts de forge para orquestar acciones desde tus EOAs. + +## Script + +[`Unwind.s.sol`](./script/Unwind.s.sol) puede ser utilizado por los usuarios para deshacer sus posiciones como una serie de transacciones necesarias y codificación de calldata, etc. Contiene código para utilizar los agregadores [OpenOcean](https://openocean.finance) y [Odos](https://odos.xyz) y sus APIs para determinar las rutas de intercambio óptimas para los outputs del swap de colateral. Se pueden integrar más agregadores de manera similar. + +```bash +forge script ./script/Unwind.s.sol --rpc-url ... --private-key ... --broadcast +```