API Reference
This page lists the APIs that are accessible to NUTS Platform users. For more information about the APIs that are used inside NUTS Platform or used only by NUTS Platform owner, please refer to the NUTS Platform smart contracts.
InstrumentRegistry
activateInstrument()
A public function for FSPs to activate new financial instruments in NUTS Platform.
Parameters
Type
Name
Description
address
instrumentAddress
The address of the deployed financial instrument contract. A financial instrument contract can be shared by multiple activated financial instruments.
bytes
instrumentParameters
Return Values
Type
Name
Description
uint256
instrumentId
ID of the activated financial instrument.
lookupInstrumentManager()
A public function to query Instrument Manager contract address with Instrument ID.
Parameters
Type
Name
Description
uint256
instrumentId
ID of the activated financial instrument.
Return Values
Type
Name
Description
address
instrumentManagerAddress
Address of the Instrument Manager Contract.
InstrumentManager
getInstrumentEscrowAddress()
Get the address of the Instrument Escrow owned by the current Instrument Manager.
Parameters
None
Return Values
Type
Name
Description
address
instrumentEscrowAddress
Address of the Instrument Escrow owned by the current Instrument Manager.
deactivate()
Deactivate the activated financial instrument managed by the current Instrument Manager. Once deactivated, the financial instrument cannot create new issuance, but the existing issuances are not affected.
A financial instrument can be deactivated only once. It can only be deactivated by maker before the instrument override time. After that, anyone can deactivate this instrument.
Parameters
None
Return Values
None
setMakerWhitelist()
Update the maker whitelist.
Parameters
Type
Name
Description
address
makerAddress
The address of the maker.
bool
allowed
Whether the maker is allowed to create new issuance.
Return Values
None.
setTakerWhitelist()
Update the taker whitelist.
Parameters
Type
Name
Description
address
takerAddress
The address of the taker.
bool
allowed
Whether the taker is allowed to engage existing issuance.
Return Values
None.
createIssuance()
Create a new issuance of the financial instrument. Only whitelisted makers are allowed if maker whitelist is enabled.
Parameters
Type
Name
Description
bytes
makerParameters
Custom parameters of the issuance.
Return Values
Type
Name
Description
uint256
issuanceId
ID of the newly created issuance.
engageIssuance()
Engage an existing issuance.. Only whitelisted takers are allowed if taker whitelist is enabled.
Parameters
Type
Name
Description
uint256
issuanceId
ID of the issuance to engage.
bytes
takerParameters
Custom parameters of the engagement.
Return Values
None.
depositToIssuance()
Deposit from Instrument Escrow to issuance.
Parameters
Type
Name
Description
uint256
issuanceId
ID of the issuance to engage.
address
tokenAddress
Address of the token to deposit. ETH address is Constants.getEthAddress().
uint256
amount
Amount of token to deposit.
Return Values
None.
withdrawFromIssuance()
Withdraw from issuance to Instrument Escrow.
Parameters
Type
Name
Description
uint256
issuanceId
ID of the issuance to engage.
address
tokenAddress
Address of the token to withdraw. ETH address is Constants.getEthAddress().
uint256
amount
Amount of token to withdraw.
Return Values
None.
notifyCustomEvent()
Notify a custom event to the issuance.
Parameters
Type
Name
Description
uint256
issuanceId
ID of the issuance to engage.
bytes32
eventName
Name of the custom event.
bytes
eventPayload
Payload of the custom event.
Return Values
None.
getCustomData()
Get custom data from the issuance.
Parameters
Type
Name
Description
uint256
issuanceId
ID of the issuance to engage.
bytes32
dataName
Name of the data to retrieve.
Return Values
Type
Name
Description
bytes
customData
The custom data to return.
Last updated