The anti-veto check scans proposal messages for MsgUpdateParams that modify OversightDaoAddress. If it finds one — regardless of what the new address is — it blocks the veto. So you could set the Oversight DAO address to literally any other valid address (doesn't need to be the gov module), and the proposal becomes unvetable. The anti-veto protection was designed to prevent the DAO from blocking its own replacement, but it's too broad — it protects the entire proposal, not just the address-change message.
We should make the anti-veto check more targeted — only block veto of proposals that exclusively change the OversightDAO address.
The anti-veto check scans proposal messages for MsgUpdateParams that modify
OversightDaoAddress. If it finds one — regardless of what the new address is — it blocks the veto. So you could set the Oversight DAO address to literally any other valid address (doesn't need to be the gov module), and the proposal becomes unvetable. The anti-veto protection was designed to prevent the DAO from blocking its own replacement, but it's too broad — it protects the entire proposal, not just the address-change message.We should make the anti-veto check more targeted — only block veto of proposals that exclusively change the OversightDAO address.