StreamingFeeSplitExtension

Overview

The StreamingFeeSplitExtension is used to interact with the StreamingFeeModule. It allows the SetToken owner to:

  • accrue and distribute fees to stakeholders

  • configure streaming fees on the StreamingFeeModule

This extension should all be added and initialized as part of the DelegatedManager factory deployment flow. See DelegatedManager extensions APIs at set.js for TS helpers to encode appropriate initializeModuleAndExtension or initializeExtension calls you will pass as arguments in the initializeBytecode parameter when executing DelegatedManagerFactory#initialize.

Select Functions

accrueFeesAndDistribute

    function accrueFeesAndDistribute() public

ANYONE CAN CALL: Accrues fees from streaming fee module. Gets resulting balance after fee accrual, calculates fees for operator and methodologist, and sends to operatorFeeRecipient and methodologist respectively.

updateStreamingFee

function updateStreamingFee(uint256 _newFee)
  external
  mutualUpgrade(manager.operator(), manager.methodologist())
  

ONLY OWNER. Updates streaming fee percentage on StreamingFeeModule.

NOTE:

  • Because the method is time-locked, each party must call it twice: once to set the lock and once to execute.settings.

  • This method will accrue streaming fees though not send to operator fee recipient and methodologist.

Reverts:

  • Fee is greater than the module's max streaming fee

Name

Type

Description

_newFee

uint256

Percent of Set accruing to manager annually (1% = 1e16, 100% = 1e18)

updateFeeRecipient

function updateFeeRecipient(address _newFeeRecipient)
  external
  

ONLY OWNER. Updates fee recipient on streaming fee module.

Reverts:

  • Fee Recipient is not a non-zero address

Name

Type

Description

_newFeeRecipient

address

Address which accrued fees are sent to prior to their distribution by the fee extension. (This is typically the address of the fee extension itself)

Last updated