• The largest withdrawal the contract would accept right now (MK-042).

    Closed form, from the two gates that bind a pure withdrawal in normal mode (:1197-1210). Debt does not change, so:

    ICR gate: (coll - x) * price / debt >= MCR -> x <= coll - MCR * debt / price TCR gate: (sysColl - x) * price / sysDebt >= CCR -> x <= sysColl - CCR * sysDebt / price

    The binding cap is the smaller, floored at zero. In Recovery Mode the answer is zero, not a smaller positive number: withdrawal is refused outright rather than limited.

    Reported alongside limitedBy because "you can withdraw 0" and "you can withdraw 0 because the system is in Recovery Mode" are different messages to a user.

    Not a single block snapshot: the price is read outside the batch that uses it. The full statement is on MathDeps in math/deps.ts (MK-013, MK-093).

    Parameters

    • deps: MathDeps
    • owner: `0x${string}`

    Returns Promise<MaxWithdrawable>