Repay
Repay

Aave · Acts onchain

Repays borrowed assets to an Aave market from the socket's balance. The socket approves the pool and calls repay on the variable debt position, returning the amount actually repaid. Pick Repay all to clear the full debt, interest included; the approval is reset afterward. Any excess over the outstanding debt is not pulled. Reach for it to close or reduce a borrow before withdrawing collateral, to bring the health factor back above a floor when a predicate finds it has slipped, or to settle the debt leg after a swap has produced the repayment asset earlier in the transaction.

Unwind

plug
aave
evm
19actions
  1. 1·Take

    Declares repay_amount as a caller parameter, sizing the debt to be flash-borrowed and repaid on this unwind path.

  2. 2·Take

    Next, borrow_token is declared as a caller parameter, naming the debt asset flash-borrowed and repaid here.

  3. 3·Take

    The market address aave_market arrives as a caller parameter, resolving every Aave action in this plug.

  4. 4·Take

    Also taken is withdraw_amount, a caller parameter sizing how much collateral to withdraw once the debt is cleared.

  5. 5·Take

    Rounding out the inputs, supply_token is declared as a caller parameter, naming the collateral asset withdrawn.

  6. 6·Flash loan

    A flash loan pulls repay_amount of borrow_token from aave_market, to be repaid within this same transaction.

  7. 7·Set

    The repayment obligation returned by that flash loan is saved into unwind_loan_owed for the later coverage check.

  8. 8·Repay

    Repaying repay_amount of borrow_token to aave_market clears the outstanding debt from the socket's balance.

  9. 9·Withdraw

    With the debt covered, withdraw_amount of supply_token is withdrawn from aave_market back to the socket.

  10. 10·Get address

    Loading the solver address into a named value sets the destination for the transfer that follows.

  11. 11·Get token balance

    Reading the borrow_token balance held by 0x4844...3a88 captures the holding before routing begins.

  12. 12·Transfer tokens

    Sending withdraw_amount of supply_token to the solver hands the withdrawn collateral over to be routed.

  13. 13·Get solution

    The solver takes the transferred tokens for routing, then the outcome is verified.

  14. 14·Get token balance

    After routing, the borrow_token balance held by 0x4844...3a88 is read again.

  15. 15·Calculate

    Subtracting the pre-routing balance from the post-routing balance measures how much borrow_token routing produced.

  16. 16·Compare two values

    Comparing that gain against unwind_loan_owed tests whether it is greater than or equal to the loan owed.

  17. 17·Predicate

    A require enforces that comparison be true, aborting the transaction if the gain does not cover unwind_loan_owed.

  18. 18·End block

    Closing the innermost open block ends the coverage check.

  19. 19·End block

    Closing the remaining open block completes the composed unwind transaction.

Take
Take
Take
Take
Take
Flash loan from
Set to
Repay to
Withdraw from
Get
Get balance of held by
Transfer to
Get solution
Get balance of held by
Calculate
Is
End block
End block
  • Unwind

    plug
    aave
    evm
  • Wind or Unwind to Maintain Target HF

    plug
    aave
    math
  • Borrow + Weekly Repayments

    time
    aave
    evm
  • Borrow Rate Exit Guard (WETH/USDC Loop)

    boolean
    aave
    evm
  • Take Profit (WETH/USDC Loop)

    boolean
    aave
    evm
  • Loop WETH/USDC at Target HF

    aave
    evm
    boolean
  • Borrow + Term Repayment Schedule

    time
    database
    boolean
  • Trailing Stop Loss (WETH/USDC Loop)

    boolean
    aave
    evm
  • Loop at Target HF + Borrow Rate Exit Guard

    database
    boolean
    aave
  • Loop at Target HF + Borrow Rate Entry & Exit Guard

    aave
    boolean
    evm
  • Loop at Target HF + Trailing Stop Loss

    database
    boolean
    aave
  • Swarm: Loop WETH/USDC at Target HF

    boolean
    aave
    evm
  • Stop Loss (WETH/USDC Loop)

    boolean
    aave
    evm

On other protocols · 4