Shadow Arena #020: Arrakis V2
You built Uniswap V3 from scratch. Arrakis V2 is what got shipped on top of it: a multi-chain LP vault manager that parks vault funds across V3 ranges and fee tiers, rebalancing on an operator's command. To do that, someone reimplemented the amounts-from-liquidity math you wrote in SqrtPriceMath and LiquidityAmounts — and got the boundary case wrong. The bugs live exactly where the fork re-derives V3 mechanics: liquidity-to-amounts conversion, spot-vs-oracle deviation defense, multi-fee-tier slippage, and fee-growth checkpointing. Four representative findings (1 H + 3 M).
Scope (1317 SLOC)
| File | SLOC |
|---|---|
| v2-core/contracts/libraries/Underlying.sol | 472 |
| v2-manager-templates/contracts/SimpleManager.sol | 293 |
| v2-core/contracts/ArrakisV2.sol | 343 |
| v2-core/contracts/abstract/ArrakisV2Storage.sol | 209 |
Documentation
Part of the Uniswap V3 Path
This shadow audit connects to the Uniswap V3 Build module. Students who built the concentrated-liquidity pool have an advantage because they understand tick accounting, the swap loop, fee growth, the observation oracle, and callback-based payment.
View Build Module