Product lifecycle
Handling the lifecycle of an investment product
Last updated
Handling the lifecycle of an investment product
Last updated
To understand how the investment product components work together, let's go through a couple of exemplary tasks and discuss them using the illustration below. The tasks have been simplified for this purpose but they nevertheless should give you a good general feeling of the inner workings.
When issuing an asset, a transaction calls the initialize method of the Asset Actor containing the asset terms, ownership information and the address of a Product engine . The exact parameters vary slightly between the contract types. Progressing through the lifecycle of the asset is done via the progress method of the Asset Actor . It retrieves the terms and the current state of the asset from the Asset Registry and uses the Product engines to derive the requirements for the state transition of the asset. For example if a payment is necessary to progress the asset's state, it is executed by the Asset Actor (assuming allowances were set at time of execution). Market Data Providers are whitelisted Ethereum accounts, e.g. decentralized oracles or trusted third parties that can publish data to the Data Registry using the publishDataPoint method. They provide external data points needed for example for rate resets, determining the market value of underlying assets.