Verified Network
  • What is the Verified Network
  • How to use it
  • Reference
    • Verified SDK
      • Using the SDK
      • Wallet and Contracts
      • Know your Customer
        • Using the KYC plugin
      • Delegated permissions
      • Investment products
        • Product lifecycle
        • Example of a Product
      • Security tokens
        • Issuing functions
      • Liquidity pools
        • Buy and Sell Orders workflow
        • Buy and Sell Order Complete workflow example
      • Secondary issues
      • Primary issues
        • Primary offer function
      • Margin traded issues
        • Offering collateral
      • Adding money to wallet
        • Paying in supported tokens
      • Issuing cash tokens
        • Issuing and Exchange functions
      • Making payments
        • Transferring cash tokens
      • Withdrawals
        • Redeeming cash tokens
      • Custody of Assets
        • Custody functions
      • Staking to invest
        • Liquidity functions
        • Market maker functions
      • Staking to borrow
        • Bond issuing function
      • Lending
        • Bond purchase function
      • Repayments
        • Bond redemption function
      • Claiming collateral
        • Defaults and Unsold bonds
      • Returns on Investment
        • Manager and Platform returns
    • Verified REST API
      • Market data
        • Get all assets
        • Get Tradable Asset Pairs
        • Get Ticker Information
        • Get Orderbook
      • Order data
        • Get Account Balance
        • Get Trade Balance
        • Get Open Orders
        • Get Closed Orders
        • Query Orders Info
        • Query Trades Info
        • Get Trades History
      • Order Management
        • Add Order
        • Edit Order
        • Cancel Order
    • Verified Subgraphs
    • Verified Applications
      • Doing KYC
        • Creating wallet
        • Using the Verified Dapp
        • Doing KYC
      • Primary issues
        • Creating a new issue
        • Subscribing to issue
        • Closing issue
      • Secondary trading
        • Market orders
        • Limit orders
        • Edit, Cancel, Settle orders
      • Margin trading
        • Post Margin collateral
        • Swaps
        • Edit, Cancel, Settle orders
      • Portfolio
        • Account statement
        • Corporate actions
        • Underwriting liquidity
Powered by GitBook
On this page
  1. Reference
  2. Verified SDK
  3. Investment products

Product lifecycle

Handling the lifecycle of an investment product

PreviousInvestment productsNextExample of a Product

Last updated 1 year ago

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.