Assessment reports>WOOFI Stake>Threat Model>requestWithdraw

Function: requestWithdraw(uint256 amount)

This allows a user to perform a withdraw request.

Inputs

  • amount

    • Control: Fully controlled by the user.

    • Constraints: User needs to afford the amount of shares to be withdrawn.

    • Impact: The amount of shares to be withdrawn.

Branches and code coverage

Intended branches

  • Ensure that it is not settling phase.

  • Ensure that the length of the user requests is less than the maximum withdraw count.

  • Transfer the shares from the user to the contract.

  • Add the shares to the requested withdraw shares mapping.

  • Increase the total requested shares.

  • Add the user to the request users set.

Negative behavior

  • Should not allow withdrawing if the amount is zero.

  • Should not allow withdrawing if the user cannot afford the shares.

Zellic © 2024Back to top ↑