Solidity Cap Table

Onchain Cap Table Overview

🫡
This doc has been recently updated

Here's where you'll find both the factory and the cap table implementation:

      • CapTable.sol
      • CapTableFactory.sol
  • Factory

    The CapTableFactory (opens in a new tab) smart contract uses OpenZeppelin's upgradeable beacon pattern to create and manage upgradeable instances of cap tables for tokenized stock records. It allows developers to update the underlying cap table implementation of all instances via the beacon. New cap table instances are created with specific initial parameters (id, name, and initial_shares_authorized).

    The contract tracks each cap table proxy created, offering a function to count the total number of cap tables managed. The contract also provides a function to retrieve the address of a cap table proxy by its index.

    Cap Table

    The CapTable (opens in a new tab) contract manages tokenized stock with role-based access for secure operations. It tracks stakeholders, stock classes, and transactions, supporting stock issuance, repurchase, and adjustments using the Structs Library and Stock Functions.

    Delete Context

    DeleteContext (opens in a new tab): Deletes stakeholders' active positions by active security IDs, stakeholder IDs, and stock class IDs.

    Adjustment

    Adjustment (opens in a new tab): Adjusts new shares authorized on a cap table (including tracking board approval date) after a round of funding or other event.