Controller
Upgradeable coordinator for strategy funding, queue pricing, and redemption processing.
Controller receives ETH from AMM and coordinates StrategyManager and ExitQueue. It is a UUPS proxy, with upgrades authorized by ADMIN through the timelock.
Operational functions
KEEPER coordinates strategy deposits, withdrawals, rebalances, synchronization,
batch pricing, request processing, and AMM exit liquidity.
Performance-fee harvest functions and single-strategy withdrawFromStrategy allow ADMIN or KEEPER.
ADMIN or SECURITY can pause and perform the designated emergency transfer to AMM;
unpausing requires ADMIN.
Downstream contracts authenticate Controller through the Registry's registered
CONTROLLER address. There is no separate CONTROLLER_ROLE.
Deployed version
The dated deployment snapshot confirms Controller 1.1.0
after governance operation 018 executed. withdrawFromStrategy(address,uint256) now accepts
ADMIN or KEEPER. Other routine strategy deposit/withdrawal and queue functions retain their
own permission checks; the upgrade does not grant ADMIN every keeper function.
The v2 migration's v1 drain operations (020) relied on this added ADMIN permission. They are governance transactions; users do not call them to withdraw.
Integration boundaries
Controller does not replace AMM, hold the user's queued EVE, or send processed payouts directly to users. AMM holds escrow and credits claimable ETH; the user claims from AMM. Controller operations still depend on pause flags, strategy capacity, NAV availability, and queue eligibility.
Last updated on