Assessment reports>Lido Fixed Income>Threat Model>finalizeVaultOngoingVariableWithdrawals

Function: finalizeVaultOngoingVariableWithdrawals()

This function is to finalize the variable withdrawal with requestIds.

Function call analysis

  • this.claimWithdrawals(msg.sender, requestIds) -> this._claimWithdrawals(user, requestIds) -> LidoVault.lidoWithdrawalQueue.claimWithdrawal(requestIds[i])

    • What is controllable? None.

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

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

  • this.applyProtocolFee(amountWithdrawn) -> Math.mulDiv(stakingEarnings, this.protocolFeeBps, 10000)

    • What is controllable? None.

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

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

  • this.calculateVariableFeeEarningsShare() -> this.calculateVariableWithdrawState(this.feeEarnings + this.withdrawnFeeEarnings, this.variableToWithdrawnFees[msg.sender]) -> Math.mulDiv(bearerBalance, totalEarnings, this.variableSideCapacity)

    • What is controllable? None.

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

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

Zellic © 2024Back to top ↑