Update to `managerFeeBPS` applied to pending tokens yet to be claimed
A manager (malicious or not) can update the `managerFeeBPS` by calling `ArrakisV2.setManagerFeeBPS()`. The newly-updated `managerFeeBPS` will be retroactively applied to the pending fees yet to be claimed by the `ArrakisV2` contract.\\nWhenever UniV3 fees are collected (via `burn()` or rebalance()), the manager fees are applied to the received pending tokens.\\n```\\nfunction _applyFees(uint256 fee0_, uint256 fee1_) internal {\\n    uint16 mManagerFeeBPS = managerFeeBPS;\\n    managerBalance0 += (fee0_ * mManagerFeeBPS) / hundredPercent;\\n    managerBalance1 += (fee1_ * mManagerFeeBPS) / hundredPercent;\\n}\\n```\\n\\nSince the manager can update the `managerFeeBPS` whenever, this calculation can be altered to take up to 100% of the pending fees in favor of the manager.\\n```\\nfunction setManagerFeeBPS(uint16 managerFeeBPS_) external onlyManager {\\n    require(managerFeeBPS_ <= 10000, "MFO");\\n    managerFeeBPS = managerFeeBPS_;\\n    emit LogSetManagerFeeBPS(managerFeeBPS_);\\n}\\n```\\n
Fees should be collected at the start of execution within the `setManagerFeeBPS()` function. This effectively checkpoints the fees properly, prior to updating the `managerFeeBPS` variable.
Manager's ability to intentionally or accidently steal pending fees owed to stakers
```\\nfunction _applyFees(uint256 fee0_, uint256 fee1_) internal {\\n    uint16 mManagerFeeBPS = managerFeeBPS;\\n    managerBalance0 += (fee0_ * mManagerFeeBPS) / hundredPercent;\\n    managerBalance1 += (fee1_ * mManagerFeeBPS) / hundredPercent;\\n}\\n```\\n