Assessment reports>Sturdy>Threat Model>zkAllocation

Function: zkAllocation(LenderAllocation[] _newPositions)

This manually updates the allocations from the ZK verifier.

Inputs

  • _newPositions

    • Control: Full.

    • Constraints: Should be in order of decreasing debt and increasing debt AND must match with _lenders in length (_lenders.length == _newPositions.length).

    • Impact: The list of position info.

Branches and code coverage (including function calls)

Intended branches

  • Owner successfully updates the allocations from the ZK verifier.

Negative behavior

  • Function reverts if not invoked by _zkVerifier.

  • Function reverts because position.debt is greater than lenderData.max_debt (supply cap).

  • Function reverts because lenderData.activation for one of the strategies is unactivated (in _manualAllocation()).

Function call analysis

  • rootFunction -> _manualAllocation(LenderAllocation[])

    • What is controllable? _newPositions.

    • 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 ↑