Limiter
Per-token, per-holder balance cap. SwapPool checks it on deposit against the pool's own balance.
Proxy: yes.
initialize(owner)
limitOf(token, holder) // 0 = no cap set
setLimitFor(token, holder, value) // owner or writerSwapPool treats limitOf == 0 as block all deposits for that token. Always set a positive cap before listing.
setLimitFor requires holder to be a contract (extcodesize > 0). You cannot set a limit in the same transaction that deploys the pool: extcodesize is 0 in a constructor. Second tx.
Event: LimitSet(token, holder, value).