If this was enabled then the current method where the AMM is borrowing funds from Iron Bank based on USD stable exchanges-in can be ceased this would be far more efficient for users and the protocol.
Most of these opportunities can actually be disguarded if instead the AMM is adjusted to route any inbound USD stable swaps through the sUSD curve pools at;
- DAI/USDC/USDT @ 0xA5407eAE9Ba41422680e2e00537571bcC53efBfD
- FRAX/USDC @ 0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF
Since the USD stables would just pass through the contract via the curve pool then enable the atomic exchange between sUSD & the sXXX (& onto ibXXX if user desired) then there is no need for any funds to be held by the treasury
Relevant Synthetix Contracts;
End Result - Options available in UI
Fully dependent on Curve pool slippage;
- Exchange DAI/USDC/USDT/FRAX for sUSD
- Exchange sUSD for DAI/USDC/USDT/FRAX
Dependent on availability & pricing of AtomicExchange;
- Exchange sUSD for ANY sXXX fiat/stable
- Exchange ANY sXXX fiat/stable for ANY other sXXX fiat/stable
- Exchange ANY sXXX fiat/stable for sUSD
Dependant on Curve pool slippage;
- Exchange ANY ibXXX for ANY sXXX fiat/stable
- Exchange ANY sXXX for ANY ibXXX fiat/stable
Bonus if routing can be added to the contract to simplify inputs & output exchange offerings (i.e. with hops between Curve & AtomicExchange)