Highlights
Reentrancy: 2 prior fixes. Scrutinize any change in this area.
src/Vault.sol: most-fixed (2 issues). Treat as high-risk during review.
4 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Reentrancy: The vault's settle() path reads reserves and transfers tokens without a single-reserve-slot invariant, allowing a reentrant locker to double-spend.
Reentrancy: The settlement guard lacked a reentrancy lock, letting the current locker re-enter settlement and manipulate state mid-transaction.
Incorrect Accounting / Fund Theft: settleAndRefund used currency.transfer instead of mint, creating an accounting mismatch that could be exploited to steal funds.