|Network||Ethereum & Optimism|
This SIP proposes a minor change to Synthetix V3 which effects the stablecoin issuance system. Rather than minting/burning stablecoins from the wallet of the address which calls the function, stablecoins balance changes occur on the core system address and associated with the relevant account.
In anticipation of the implementation of cross-chain pools, the Synthetix protocol will need a way to issue stablecoins but disallow users to withdraw until a timeout expires, such that information pertaining to pool debt can be syncronized across chains. Because we anticipate this requirement and this may be an interface-breaking change, we believe it should be incorporated into a protocol upgrade as soon as possible.
Further, because the
withdraw function respects the withdraw timeout (outlined in SIP-316) there is an added security improvement here. If an attacker were able to somehow associate collateral with their account, without this upgrade, they could circumvent the withdrawal timeout by minting stablecoins against it.
In the IssueUSD Module, the stablecoins should be minted to the core system address rather than
msg.sender and then associated with the relevant account (as collateral is during a call to
deposit). The analagous change can happen for burning stablecoins.
The stablecoin will need to be added as depositable collateral type, such that it is recognized by the system in the
withdraw functions. The minimum delegation amount can be set to
MAX_UINT, such that it cannot be used by pools as collateral.
Copyright and related rights waived via CC0.