Onchain Cap Table Overview
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.