Deprecate XDR synth from Synthetix to simplify representation and calculation of claimable fees in fee pool, Gas Optimisations and simplify the system mechanics.
XDR has been used in Synthetix since the beginning as an unit of account, however most people are still not able to understand the purpose and calcuation of XDR and most importantly how the price of XDR is being derived.
With the implementation of SIP-29 - Issue, burn and claim only in sUSD, XDR is not required to be the unit of account anymore and sUSD can replace the role of XDR as the base unit of account.
- This will help new users in Synthetix ecosystem to easily understand how fees are collected and distributed
- Easier onchain checking and verification of current amount of fees claimable sitting inside fee pool
- Allows for easier integration of third party dashboards/data analysis as they do not have to call the XDR value to sUSD to represent the USD value
- No requirement for Chainlink decentraliized oracle to support.
- System optimizations, gas savings on removing XDR from system mechanics
- Reduce system complexity
- Reclaiming bytecode space from reduntant code using XDR as a unit of account and converting into sUSD.
- Reducing all the XDR processing code will reduce the gas usage, saving on mint, burn, claimFees transactions.
- Allows for full decentralised oracles in future as XDR price is a niche and likely to be unsupported by most oracles.
exchange()fees will be collected in sUSD and stored as sUSD at the fee address making transactions on etherscan easier to read the fee paid
debtBalanceOf()calculations will be in sUSD
- On MAINNET deploy, import
recentFeePeriods[0-2].feesToDistributewith the exchange rate from XDR to sUSD
ownerOnlyfunction to exchange all XDR's into sUSD at [fee address] which holds 100% of the XDR's
- Swap all XDR implementation to sUSD. e.g.
_payFeesto remove all exchange from XDR code.
- Remove XDR Participants and XDR rate storage.
Not required at this stage
Copyright and related rights waived via CC0.