SIP-38: Charge Fees During Purge

Author
Discussions-Tohttps://discord.gg/3uJ5rAy
StatusImplemented
Created2020-01-29

Simple Summary

Ensure that synth holders get charged an exchange fee when being purged back into sUSD.

Abstract

When purging synths - either frozen inverses or low utilized synths being deprecated - ensure that the holders when being purged back to sUSD still have to pay the exchange fee.

Motivation

Synths that are frozen or deprecated are purged from time to time. The current system does not charge exchange fees in the case of purging from any synth to sUSD, due to a design decision at the time regarding the ease of implementation within the system. This should be updated to charge fees, preventing users from camping out in these synths without paying the fair share of exchange fees.

Specification

This change would do away with the synthInitiatedExchange() function in Sythetix, and invoke exchange instead.

Rationale

By removing excess code in Synthetix, we reduce the contract size for deployment and slightly improve the gas used during exchanges.

Test Cases

TBD

Implementation

TBD

Copyright and related rights waived via CC0.