Vingt.io
  • Introduction
    • Problem Statement & Solution
    • Introduction to Vingt.io
      • Vingt.io Index and Strategy Protocol (VISP)
  • Vingt.io Products
    • Index Tokens
    • Leveraged Tokens
  • Vingt.io Ecosystem
    • Ecosystem Overview
      • AI Smart Agents
      • Volar (Wallet)
      • Zero Liq (Dex)
      • Vingt Labs
    • Roadmap
  • Tokenomics
    • Token Utility
    • Token Distribution
    • Incentives
    • Economic Sustainability
  • Technical Guide
    • VISP Technical Foundation
      • Contract Functions
        • Set Token
        • SetTokenCreator
        • Controller
        • IntegrationRegistry
        • BasicIssuanceModule
        • DebtIssuanceModuleV3
        • TradeModule
        • StreamingFeeModule
        • AaveV3LeverageModule
      • Index Token Manger Guide
        • Creating a Set
        • Adding a Module
        • Configuring a Set
        • Basic Issuance
        • Trading
          • Via 0x
        • Charging a Streaming Fee
    • Deployed Contracts
    • Multisig Wallets
  • Miscellaneous
    • Audit and Security (VISP)
    • FAQs
    • Legal
      • Privacy Policy (Vingt.io)
      • Terms of Service (dApp)
      • Tokens Restricted for Restricted Persons
Powered by GitBook
On this page
  • Select Methods
  • Select View Methods
  1. Technical Guide
  2. VISP Technical Foundation
  3. Contract Functions

BasicIssuanceModule

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

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 toredeem

_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 toredeem

Return Name

Type

Description

componentAddresses

address[]

Address of the SetToken

componentQuantities

uint256[]

List of component units required to issue the quantity of SetTokens

PreviousIntegrationRegistryNextDebtIssuanceModuleV3

Last updated 10 months ago