Issuance Extension

Overview

The IssuanceExtension is used to interact with the IssuanceModule. It allows the SetToken owner to:

  • distribute fees to stakeholders

  • configure issuance and redemption fees on the IssuanceModule

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

distributeFees

    function distributeFees() public

ANYONE CALLABLE: Distributes fees accrued to the DelegatedManager. Calculates fees for owner and methodologist, and sends to owner fee recipient and methodologist respectively.

updateIssueFee

function updateIssueFee(uint256 _newFee)
  external

OWNER ONLY: Updates issue fee on IssuanceModule.

Reverts:

  • Issue fee exceeds fee maximum (set on Issuance Module)

  • New issue fee is identical to current issue fee

Name

Type

Description

_newFee

uint256

New fee amount in preciseUnits (1% = 10^16)

updateRedeemFee

function updateRedeemFee(uint256 _newFee)
  external

OWNER ONLY: Updates issue fee on IssuanceModule.

Reverts:

  • Redeem fee exceeds fee maximum (set on Issuance Module)

  • New redeem fee is identical to current redeem fee

Name

Type

Description

_newFee

uint256

New fee amount in preciseUnits (1% = 10^16)

updateFeeRecipient

function updateFeeRecipient(address _newFeeRecipient)
  external
  

OWNER ONLY: 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