Assessment reports>EtherFi>Threat Model>claimQueuedWithdrawals

Function: claimQueuedWithdrawals(uint256 maxNumWithdrawals, bool _checkIfHasOutstandingEigenLayerWithdrawals)

Claims queued withdrawals from the EigenPod to this withdrawal safe.

Inputs

  • maxNumWithdrawals

    • Control: Fully controlled.

    • Constraints: No constraints.

    • Impact: Maximum number of queued withdrawals to claim in this TX.

  • _checkIfHasOutstandingEigenLayerWithdrawals

    • Control: Fully controlled.

    • Constraints: No constraints.

    • Impact: True if user wants to check outstanding EigenLayer withdrawals.

Branches and code coverage

Intended branches

  • Returns false if isRestakingEnabled is false.

  • Calls hasOutstandingEigenLayerWithdrawals if _checkIfHasOutstandingEigenLayerWithdrawals is true.

Negative behavior

  • N/A.

Function call analysis

  • IEtherFiNodesManager(this.etherFiNodesManager).delayedWithdrawalRouter()

    • What is controllable? N/A.

    • If the return value is controllable, how is it used and how can it go wrong? Not controllable.

    • What happens if it reverts, reenters or does other unusual control flow? If this call reverts, the entire transaction would revert — no reentrancy scenario.

  • delayedWithdrawalRouter.getUserDelayedWithdrawals(address(this))

    • What is controllable? N/A.

    • If the return value is controllable, how is it used and how can it go wrong? Returns the delayed withdrawals of a user.

    • What happens if it reverts, reenters or does other unusual control flow? If this call reverts, the entire transaction would revert — no reentrancy scenario.

  • delayedWithdrawalRouter.claimDelayedWithdrawals(address(this), maxNumWithdrawals)

    • What is controllable? maxNumWithdrawals.

    • If the return value is controllable, how is it used and how can it go wrong? No return value.

    • What happens if it reverts, reenters or does other unusual control flow? If this call reverts, the entire transaction would revert — no reentrancy scenario.

  • this.hasOutstandingEigenLayerWithdrawals()

    • What is controllable? N/A.

    • If the return value is controllable, how is it used and how can it go wrong? Returns true if there are any more outstanding EigenLayer withdrawals.

    • What happens if it reverts, reenters or does other unusual control flow? If this call reverts, the entire transaction would revert — no reentrancy scenario.

Zellic © 2025Back to top ↑