Basic Issuance Module
The BasicIssuanceModule is a smart contract that 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 | ISetToken | 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 | ISetToken | Address of the SetToken |
_quantity | uint256 | Quantity of the SetToken to |
_to | address | Address to redeem components to |
initialize()
function initialize(ISetToken _setToken, IManagerIssuanceHook _preIssueHook)
Manager only. Initializes this module to the SetToken with issuance-related hooks. Only callable by the SetToken's manager. Hook addresses are optional. Address(0) means that no hook will be called
Parameter Name | Type | Description |
_setToken | ISetToken | Address of the SetToken |
_preIssueHook | IManagerIssuanceHook | Instance of the Manager Contract with the Pre-Issuance Hook function |
Select View Methods
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 | ISetToken | Address of the SetToken |
_quantity | uint256 | Quantity of the SetToken to |
Return Name | Type | Description |
componentAddresses | address[] | Address of the SetToken |
componentQuantities | uint256[] | List of component units required to issue the quantity of SetTokens |
Last updated