Skip to main content

SecuritizationManager

SecuritizationManager

You can use this contract for creating new pool, setting up note toke sale, buying note token

POOL_INIT_FUNC_SELECTOR

bytes4 POOL_INIT_FUNC_SELECTOR

allowedUIDTypes

uint256[] allowedUIDTypes

initialize

function initialize(contract Registry _registry, address _factoryAdmin) public

onlyPoolExisted

modifier onlyPoolExisted(address pool)

onlyIssuer

modifier onlyIssuer(address pool)

doesSOTExist

modifier doesSOTExist(address pool)

doesJOTExist

modifier doesJOTExist(address pool)

setFactoryAdmin

function setFactoryAdmin(address _factoryAdmin) public

Sets the address that can create new instances of contracts.

Parameters

NameTypeDescription
_factoryAdminaddressThe address of the new factory admin.

getPoolsLength

function getPoolsLength() public view returns (uint256)

newPoolInstance

function newPoolInstance(bytes32 salt, address poolOwner, bytes params) external returns (address)

Deploys a new instance of Securitization Pool contract with given parameters.

Parameters

NameTypeDescription
saltbytes32A unique value to determine the location of the new pool in the blockchain.
poolOwneraddressAddress that will own this new pool and can grant roles to other addresses.
paramsbytesAdditional parameters for initializing the pool.

Return Values

NameTypeDescription
[0]addressThe address of the newly deployed Securitization Pool contract.

registerPot

function registerPot(address pot) external

Registers a new pot for a SecuritizationPool. Only existing pools can register pots. A pot can only be registered once. Emits a {UpdatePotToPool} event.

_initialTGEForSOT

function _initialTGEForSOT(address issuerTokenController, address pool, uint8 saleType, string ticker, uint256 openingTime) internal returns (address, address)

Deploys Senior Obligation Token (SOT) for a given pool. This function creates SOT token, sets up the initial TGE and injects its address into the pool.

Parameters

NameTypeDescription
issuerTokenControlleraddressThe address of IssuerTokenController.
pooladdressAddress of the Pool.
saleTypeuint8Type of Sale (0 for presale, 1 for public sale).
tickerstringTicker symbol of SOT token.
openingTimeuint256The timestamp when the TGE starts.

Return Values

NameTypeDescription
[0]addresssotToken Address of the created Senior Obligation Token.
[1]addresstgeAddress Address of the created Token Generation Event.

setUpTGEForSOT

function setUpTGEForSOT(struct ISecuritizationManager.TGEParam tgeParam, uint32 interestRate) public

Function for setting up TGE for SOT (Securitized Token Offering)

Parameters

NameTypeDescription
tgeParamstruct ISecuritizationManager.TGEParamStruct containing parameters related to TGE setup
interestRateuint32Interest rate for the Securitized Token Offering

setUpTGEForJOT

function setUpTGEForJOT(struct ISecuritizationManager.TGEParam tgeParam, uint256 initialJOTAmount) public

This function sets up the Initial Token Generation Event (TGE) for JOT. It initializes various parameters of the TGE such as total cap, has started status, min bid amount and initial amount.

Parameters

NameTypeDescription
tgeParamstruct ISecuritizationManager.TGEParamStruct containing details about the TGE like issuer token controller address, pool address, sale type, ticker symbol and opening time.
initialJOTAmountuint256Initial JOT amount to be set for the TGE.

_initialTGEForJOT

function _initialTGEForJOT(address issuerTokenController, address pool, uint8 saleType, string ticker, uint256 openingTime) public returns (address, address)

Deploys Junior Note Token (JOT) and corresponding Token Generation Event (TGE).

Only callable by Pool contract.

Parameters

NameTypeDescription
issuerTokenControlleraddressAddress of the Issuer Token Controller.
pooladdressAddress of the Pool.
saleTypeuint8Type of the Sale.
tickerstringString representing the token's symbol/ticker.
openingTimeuint256Timestamp when the TGE starts.

Return Values

NameTypeDescription
[0]addressjotToken Address of the deployed Junior Note Token (JOT).
[1]addresstgeAddress Address of the created Token Generation Event (TGE).

buyTokens

function buyTokens(address tgeAddress, uint256 currencyAmount) external

This function allows users to buy tokens from a TGE (Token Generation Event).

Parameters

NameTypeDescription
tgeAddressaddressThe address of the TGE.
currencyAmountuint256The amount of currency to be used for buying tokens.

setAllowedUIDTypes

function setAllowedUIDTypes(uint256[] ids) external

Allows an admin to set the allowed UID types.

Parameters

NameTypeDescription
idsuint256[]The array of IDs that are now allowed.

hasAllowedUID

function hasAllowedUID(address sender) public view returns (bool)

Check if an user has valid UID type

updateTgeInfo

function updateTgeInfo(struct ISecuritizationManager.TGEInfoParam[] tgeInfos) public

Update TGE information for multiple projects. Only controller of each project can call this function.

Parameters

NameTypeDescription
tgeInfosstruct ISecuritizationManager.TGEInfoParam[]An array of TGEInfoParam structs containing information about each project's new TGE details.