here is the scenario
Setting weights are approved action both by admin and pool manager (approvedPoolActions[_poolAddress]=24 (16+8)).
Quant admin wants set weights manually using UpdateWeightRunner::setWeightsManually function.
Function checks the if (poolRegistryEntry & MASK_POOL_OWNER_UPDATES > 0) and its true.
As condition is satisfied, function runs the statement require(msg.sender == poolRuleSettings[_poolAddress].poolManager, "ONLYMANAGER");
function reverts since the caller is the admin not the manager.
As a result admin cant set weights manually when setting weights is approved action for manager.
Copy the test bellow in UpdateWeightRunner.sol . we expect test to pass, but test reverts "ONLYMANAGER".
Setting weights manually becomes impossible for admin if setting weights is approved to do by pool manager.
Manual review
Simply change it like this:
Design choice confirmed by the sponsor.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.