Basic Issuance Module

The Basic Issuance Module is a module enables issuance and redemption functionality on a SetToken for default-only positions.

Select Methods

issue()

function issue( ISetToken _setToken, uint256 _quantity, address _to )

Deposits the SetToken's position components into the SetToken and mints the SetToken of the given quantity to the specified _to address. This function only handles Default Positions (positionState = 0). Components must be approved to this contract (BasicIssuanceModule) ahead of the issuance call.

Parameter Name

Type

Description

_setToken

address

Instance of the SetToken

_quantity

uint256

Quantity of the SetToken to mint

_to

address

Address to mint SetToken to

‚Äč

redeem()

function redeem( ISetToken _setToken, uint256 _quantity,address _to)

Redeems the SetToken's positions and sends the components of the given quantity to the caller. This function only handles Default Positions (positionState = 0).

Parameter Name

Type

Description

_setToken

address

Address of the SetToken

_quantity

uint256

Quantity of the SetToken toredeem

_to

address

Address to redeem components to

getRequiredComponentUnitsForIssue()

function getRequiredComponentUnitsForIssue( ISetToken _setToken, uint256 _quantity ) view returns (address[] memory, uint256[] memory)

Retrieves the addresses and units required to mint a particular quantity of SetToken.

Parameter Name

Type

Description

_setToken

address

Address of the SetToken

_quantity

uint256

Quantity of the SetToken toredeem

Return Name

Type

Description

componentAddresses

address[]

Address of the SetToken

componentQuantities

uint256[]

List of component units required to issue the quantity of SetTokens