Assessment reports>Definitive LLSD>Threat Model>_exitContinue

Function: _exitContinue(byte[] contextData)

This is the continuation of the exit function --- has to be separated because of the flash loan implementation.

Inputs

  • contextData

    • Control: Full.

    • Constraints: None.

    • Impact: The data sent from exit through the balancer flash loan.

Branches and code coverage (including function calls)

Intended branches

  • Repays the debt and decollateralizes.

  • Swap is executed.

Negative behavior

  • Does not swap if there is no swap payload.

Function call analysis

  • _repay(context.repayAmount)

    • What is controllable? Full.

    • What happens if it reverts, reenters, or does other unusual control flow? Nothing.

    • If return value is controllable, how is it used and how can it go wrong: Discarded.

  • _decollateralize(context.decollateralizeAmount)

    • What is controllable? Full.

    • What happens if it reverts, reenters, or does other unusual control flow? Nothing.

    • If return value is controllable, how is it used and how can it go wrong: Discarded.

  • _swap(swapPayloads, STAKING_TOKEN())

    • What is controllable? swapPayload.

    • What happens if it reverts, reenters, or does other unusual control flow? Nothing.

    • If return value is controllable, how is it used and how can it go wrong: Discarded.

Zellic © 2024Back to top ↑