Discussion: AMM Functionality

Suggestion;
I’d like to kick things off, with a suggestion to modify the ibAMM (0x58d288812A2d67F520335e99A9718c04B8f2a3D4) to allow for direct swaps from sUSD to ANY sXXX stable asset of the following sXXX types;

  • sEUR; 0xD71eCFF9342A5Ced620049e616c5035F1dB98620
  • sCHF; 0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d
  • sGBP; 0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F
  • sAUD; 0xF48e200EAF9906362BB1442fca31e0835773b8B4
  • sKRW; 0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B
  • sJPY; 0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d

Motivation;
This change will have no impact on any treasury held assets, nor will it have any impact on ibXXX assets loaned. It wouldl benefit protocol in two notable ways;

  1. Ease of use for end-users vs having to utilize an external service (such as Kwenta)

  2. With treasury controlled curve directing emissions due to return to incentivizing ibXXX+sXXX stable curve pools & with pools currently being off-peg - this would allow;

  • end-users ease of access to the pools on the Synthtix stable side
  • benefit restoration of peg due to the fact that any user entering the pool single-sided via the under-balanced asset will receive a bonus for depositing into the pool

Due to need for re-peg of pools, would recommend these swap options are offered at no additional fee. Due to the atomic exchange capabilities enabled by Synthetix users will incur base fees as per SCCP-190 & may be subject to change in future SCCPs although will incur no slippage

As these changes will help user-enablement to restore peg on ibXXX+sXXX pools - then it follows that peg valuations being within a tight range is also likely to restore confidence in any potential borrowers of ibXXX assets from Iron Bank - which should be considered a critical need for generating revenues for vested KP3R token holders

Execution;
Can be enabled by modifying current contract to;

  • List address for each Synth detailed above
  • ‘quote_snx’ for sUSD to sXXX
  • ‘swap_snx’ via ‘snx.exchangeAtomically’
  • return sXXX to sender

Should also include notice on web frontend of hours of operation

Timing;
Ideally, this change would be enabled in time for incentives returning to ibXXX+sXXX pools, due on 14th July

Technical Reference;

  • Fixed Forex ib_amm contract at;
    • 0x58d288812A2d67F520335e99A9718c04B8f2a3D4
  • Atomic Swap info via Synthetix at;
    • SIP-89 for (now historical) Virtual Synths
    • SIP-120 for Atomic Exchange Functions on L1
    • SIP-198 for Update to Atomic Exchange Function which allows trading at pure chainlink price
    • SIP-220 for Update on Exchange Fee System
  • Synthetix fee updates;
    • SCCP-190 for Update Fees & Atomic Volatility Circuit Breaker Parameters

Note;

  • SIP = Synthetix Improvement Proposals
  • SCCP = Synthetix Configuration Change Proposals
    These are the formal mechanisms Synthetix uses for making changes to the protocol. SIPs are usually smart contract level changes, whilst SCCPs are usually configuration variables

Additional Considerations;
Functionality could be further enhanced by enabling inbound routing via the sUSD pool on curve which would mean the following assets could be accepted as inbound swaps;

  • DAI
  • USDC
  • USDT

Therefore routing all DAI/USDC/USDT via the pool & swapping to sUSD before quoting and exchanging atomically to the sXXX asset

If added, this should include passthrough of curve incurred fees and notice of slippage to user

1 Like