The orchestrator performs a check in rebase() trying to prevent contracts from executing the rebase. IIUC the idea behind this is to prevent sandwiching AMPL's supply adjustment.
|
require(msg.sender == tx.origin); // solhint-disable-line avoid-tx-origin |
However, since the Pectra fork launched on Ethereum mainnet it's possible for EOAs to have executable logic, see EIP-7702. This update renders the check mostly useless.