tracing transaction… anvil fork replay can take ~10–30s
Rounding in composable stable pool swaps, compounded through batchSwap, deflated the pool invariant and drained it.
Below is the attack transaction replayed on Ethereum: the decoded invocation flow (every call, event and revert), per-account balance changes, and the fund flow between the attacker and the protocol.