SIP-319: Core System Fee Capture Mechanisms

Author
StatusImplemented
TypeGovernance
NetworkEthereum & Optimism
ImplementorNoah Litvin (@noahlitvin)
ReleaseTBD
ProposalLoading status...
Created2023-03-09

Simple Summary

This SIP proposes adding functionality for governance to set custom fee capture strategies when stablecoins are minted, burned, deposited, and withdrawn.

Motivation

The intent of this proposal is to provide governance with maximum flexibility in controlling fees where they may be levied by the core protocol.

Rationale

By relying on a standardized interface for a smart contract to process fees, governance will be able to update the distribution of fees in addition to the amount of fees collected. The fee recipient could be an EOA, a rewards distributor, or any other smart contract.

Technical Specification

Each of the mintUsd, burnUsd, depositMarketUsd, and withdrawMarketUsd functions will have a corresponding fee percentage value and fee recipient address.

On each of the actions, this percentage of stablecoins will be transferred to the recipient address.

Fees will be effectively debited from LPs such that the exact amount specified by the caller is provided. depositMarketUsd and withdrawMarketUsd will be updated to return the amount of fees paid to the protocol such that the market could pass these fees on to traders. The getWithdrawableMarketUsd function should be updated to take into account withdrawMarketUsdFeePercentageD18.

Test Cases

Configurable Values (Via SCCP)

  • uint depositMarketUsdFeePercentageD18
  • address depositMarketUsdFeeRecipient
  • uint withdrawMarketUsdFeePercentageD18
  • address withdrawMarketUsdFeeRecipient
  • uint mintUsdFeePercentageD18
  • address mintUsdFeeRecipient
  • uint burnUsdFeePercentageD18
  • address burnUsdFeeRecipient

Copyright and related rights waived via CC0.