I am wondering how the mint_burn_adjustment and fund_defund_adjustment work when there is a big price change that is only reflected by the oracle after some time.
After the change, arbitragers take advantage of the discrepancy and buy/sell until the adjusted price is equal to the real price. When the oracle comes with the updated price, does that mean that the price is out of equilibrium again and the arbitragers have another opportunity?
This could be solved by changing the adjustments when the oracle updates the price, such that the on-chain price is unaffected. We still need to slowly reduce the adjustments to make sure the on-chain price cannot drift away from the real price.
You also might want to implement the front-running remedy proposed in here: