As I checked the code in Contract “EthUniswapPCVController”, I found that the reweight action will use “reweightWithdrawBPs” parameter which can only be set by Governor role, currently reweightWithdrawBPs is 9900 which means every time reweight happens, the PCV controller will use 99% of total PCV to restore the PEG. I think we can simply control this parameter “reweightWithdrawBPs” to achieve smooth PEG recovery rather than PEG directly to $1 and front run by bots, it’s like an auction process starting from current FEI price to $1.
For example lets say current FEI price is 0.8, we can set this “reweightWithdrawBPs” parameter to 2500 which is 25%, then resume the protocol reweight, and after a reweight we can pause the protocol reweight again. The price of FEI won’t rise to $1, but roughly rise to $0.85, then we can wait for a period of time (One day e.g.), then the price may slowly drop to somewhere between 0.8 and 0.85. we then can repeat the whole thing again.
By doing so, we need not to change any current contract code, and it’s easy to implement and we can vote on it