On the `StrategyArb.sol` and 'StrategyOp.sol' file, the manager has the possibility to change the router address. However, on the setter function, the old router address keep the previous approval. Meaning that in case of an emergency, if an issue is raised on the router, it stills have full access to the fund and can do a 'transferFrom' from the contact.
On the code, the manager have the possibility ot change the router address. However, we do not remove the previous approval from the other contract.
In case of a router exploit, it can have full control of the token owned by the contract and take all the liquidity from it.
I would recommand to first remove the previous approvale before adding the new one to the new router. As an example you could have:
Would also recommand to add a testcase scenario for both arbitrum and optimism contract. As:
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.