Assessment reports>Definitive>Threat Model>depositUnderlying

Function: depositUnderlying(uint256[] amounts, uint256 minAmount, address receiver)

This mints vault shares to the receiver by depositing multiple underlying asset amounts.

Inputs

  • amounts

    • Control: Full.

    • Constraints: The amounts and assetAddresses must be of the same length.

    • Impact: The amounts of each underlying asset to deposit.

  • minAmount

    • Control: Full.

    • Constraints: N/A.

    • Impact: The minimum amount of vault shares to mint from the deposit.

  • receiver

    • Control: Full.

    • Constraints: Needs to be a valid, nonzero address.

    • Impact: Address to receive vault shares.

Branches and code coverage (including function calls)

Intended branches

  • Should mint shares when invoking depositUnderlying() with LP tokens.

Negative behavior

  • depositUnderlying() should revert when in safe harbor mode.

Function call analysis

  • rootFunction -> previewDeposit(uint256)

    • What is controllable? N/A.

    • If return value controllable, how is it used and how can it go wrong? N/A.

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

Zellic © 2025Back to top ↑