Streaming Fee Module
Last updated
Last updated
The StreamingFeeModule (Etherscan) is a smart contract that accrues streaming fees for managers and methodologists. Streaming fees are denominated as percent per year and realized as inflation rewarded to recipients.
function accrueFee(ISetToken _setToken)
Calculates total inflation percentage then mints new Sets to the fee recipient. Position units are then adjusted down (in magnitude) in order to ensure full collateralization. Callable by anyone.
function initialize(ISetToken _setToken, FeeState memory _settings)
Manager only. Initializes this module to the SetToken.
The FeeState struct is constructed as follows:
function updateStreamingFee(ISetToken _setToken, uint256 _newFee)
Manager only. Set new streaming fee. Fees accrue at current rate then new rate is set. Fees are accrued to prevent the manager from unfairly accruing a larger percentage.
function updateFeeRecipient(ISetToken _setToken, address _newFeeRecipient)
Manager only. Set new fee recipient.
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
Parameter Name
Type
Description
_setToken
ISetToken
Address of the SetToken
_settings
FeeState
FeeState struct defining fee parameters
Parameter Name
Type
Description
_setToken
address
Instance of the SetToken
_newFee
uint256
New streaming fee in 18 decimal precision
Parameter Name
Type
Description
_setToken
ISetToken
Instance of the SetToken
_newFeeRecipient
address
New fee recipient