Cap Table Structs
Structs (opens in a new tab) manage various aspects of the cap table, including issuers, stock classes, stakeholders, and different types of stock transactions. You'll find them here:
- DeleteContext.sol
- Stock.sol
- Structs.sol
- TxHelper.sol
 
- CapTable.sol
- CapTableFactory.sol
 
Issuer
Represents an issuer of shares.
- bytes16 id: Unique identifier for the issuer.
- string legal_name: Legal name of the issuer.
- uint256 shares_issued: Total number of shares issued.
- uint256 shares_authorized: Total number of shares authorized.
StockClass
Represents a class of stock.
- bytes16 id: Unique identifier for the stock class.
- string class_type: Type of stock (e.g., "COMMON", "PREFERRED").
- uint256 price_per_share: Per-share price at which this stock class was issued.
- uint256 shares_issued: Total number of shares issued for this class.
- uint256 shares_authorized: Total number of shares authorized for this class.
Stakeholder
Represents a stakeholder in the company.
- bytes16 id: Unique identifier for the stakeholder.
- string stakeholder_type: Type of stakeholder (e.g., "INDIVIDUAL", "INSTITUTION").
- string current_relationship: Current relationship of the stakeholder with the company (e.g., "ADVISOR", "BOARD_MEMBER").
ActivePosition
Represents an active position of a stakeholder in a specific stock class.
- bytes16 stock_class_id: Identifier of the stock class.
- uint256 quantity: Number of shares held.
- uint256 share_price: Price per share.
- uint40 timestamp: Timestamp of the position.
ShareNumbersIssued
Represents the range of share numbers issued.
- uint256 starting_share_number: Starting share number.
- uint256 ending_share_number: Ending share number.
IssuerInitialShares
Initial share details for an issuer.
- uint256 shares_authorized: Initial number of shares authorized.
- uint256 shares_issued: Initial number of shares issued.
StockClassInitialShares
Initial share details for a stock class.
- bytes16 id: Identifier of the stock class.
- uint256 shares_authorized: Initial number of shares authorized for the stock class.
- uint256 shares_issued: Initial number of shares issued for the stock class.
InitialShares
Initial share details for an issuer and its stock classes.
- IssuerInitialShares issuerInitialShares: Initial shares for the issuer.
- StockClassInitialShares[] stockClassesInitialShares: Initial shares for the stock classes.
StockCancellation
Represents the cancellation of stock.
- bytes16 id: Unique identifier for the cancellation.
- string object_type: Type of object.
- uint256 quantity: Quantity of stock cancelled.
- string[] comments: Optional comments.
- bytes16 security_id: Identifier of the security.
- string reason_text: Optional reason for cancellation.
- bytes16 balance_security_id: Optional balance security identifier.
StockRetraction
Represents the retraction of stock.
- bytes16 id: Unique identifier for the retraction.
- string object_type: Type of object.
- string[] comments: Optional comments.
- bytes16 security_id: Identifier of the security.
- string reason_text: Optional reason for retraction.
StockReissuance
Represents the reissuance of stock.
- bytes16 id: Unique identifier for the reissuance.
- string object_type: Type of object.
- string[] comments: Optional comments.
- bytes16 security_id: Identifier of the security.
- bytes16[] resulting_security_ids: Identifiers of the resulting securities.
- bytes16 split_transaction_id: Split transaction identifier (not used in MVP).
- string reason_text: Reason for reissuance.
StockRepurchase
Represents the repurchase of stock.
- bytes16 id: Unique identifier for the repurchase.
- string object_type: Type of object.
- string[] comments: Optional comments.
- bytes16 security_id: Identifier of the security.
- string consideration_text: Optional consideration text.
- bytes16 balance_security_id: Optional balance security identifier.
- uint256 quantity: Quantity of stock repurchased.
- uint256 price: Price of the repurchase.
StockAcceptance
Represents the acceptance of stock.
- bytes16 id: Unique identifier for the acceptance.
- string object_type: Type of object.
- bytes16 security_id: Identifier of the security.
- string[] comments: Optional comments.
IssuerAuthorizedSharesAdjustment
Represents an adjustment to the authorized shares of an issuer.
- bytes16 id: Unique identifier for the adjustment.
- string object_type: Type of object.
- uint256 new_shares_authorized: New number of authorized shares.
- string[] comments: Optional comments.
- string board_approval_date: Optional board approval date.
- string stockholder_approval_date: Optional stockholder approval date.
StockClassAuthorizedSharesAdjustment
Represents an adjustment to the authorized shares of a stock class.
- bytes16 id: Unique identifier for the adjustment.
- string object_type: Type of object.
- uint256 new_shares_authorized: New number of authorized shares.
- string[] comments: Optional comments.
- string board_approval_date: Optional board approval date.
- string stockholder_approval_date: Optional stockholder approval date.
StockIssuance
Represents the issuance of stock.
- bytes16 id: Unique identifier for the issuance.
- string object_type: Type of object.
- bytes16 security_id: Identifier of the security.
- StockIssuanceParams params: Parameters of the stock issuance.
StockLegendTemplate
Represents a stock legend template.
- bytes16 id: Unique identifier for the legend template.
StockParamsQuantity
Represents the parameters for stock quantity operations.
- uint256 nonce: Nonce value.
- uint256 quantity: Quantity of stock.
- bytes16 stakeholder_id: Identifier of the stakeholder.
- bytes16 stock_class_id: Identifier of the stock class.
- bytes16 security_id: Identifier of the security.
- string[] comments: Optional comments.
- string reason_text: Reason for the operation.
StockParams
Represents the parameters for stock operations.
- bytes16 stakeholder_id: Identifier of the stakeholder.
- bytes16 stock_class_id: Identifier of the stock class.
- bytes16 security_id: Identifier of the security.
- string[] comments: Optional comments.
- string reason_text: Reason for the operation.
StockTransferParams
Represents the parameters for a stock transfer.
- bytes16 transferor_stakeholder_id: Identifier of the transferor stakeholder.
- bytes16 transferee_stakeholder_id: Identifier of the transferee stakeholder.
- bytes16 stock_class_id: Identifier of the stock class.
- bool is_buyer_verified: Indicates if the buyer is verified.
- uint256 quantity: Quantity of stock transferred.
- uint256 share_price: Price per share.
- uint256 nonce: Nonce value.
- string custom_id: Custom identifier.
StockIssuanceParams
Represents the parameters for stock issuance.
- bytes16 stock_class_id: Identifier of the stock class.
- bytes16 stock_plan_id: Optional identifier of the stock plan.
- ShareNumbersIssued share_numbers_issued: Optional range of share numbers issued.
- uint256 share_price: Price per share.
- uint256 quantity: Quantity of stock.
- bytes16 vesting_terms_id: Optional identifier of the vesting terms.
- uint256 cost_basis: Optional cost basis.
- bytes16[] stock_legend_ids: Optional identifiers of the stock legends.
- string issuance_type: Optional type of issuance (e.g., "RSA", "FOUNDERS_STOCK").
- string[] comments: Optional comments.
- string custom_id: Optional custom identifier.
- bytes16 stakeholder_id: Identifier of the stakeholder.
- string board_approval_date: Optional board approval date.
- string stockholder_approval_date: Optional stockholder approval date.
- string consideration_text: Optional consideration text.
- string[] security_law_exemptions: Optional security law exemptions.
StockTransfer
Represents a stock transfer.
- bytes16 id: Unique identifier for the transfer.
- string object_type: Type of object.
- uint256 quantity: Quantity of stock transferred.
- string[] comments: Optional comments.
- bytes16 security_id: Identifier of the security.
- string consideration_text: Optional consideration text.
- bytes16 balance_security_id: Optional balance security identifier.
- bytes16[] resulting_security_ids: Identifiers of the resulting securities.
ActivePositions
Represents active positions held by stakeholders.
- mapping(bytes16 => mapping(bytes16 => ActivePosition)) activePositions: Mapping of active positions by stock class and stakeholder.
SecIdsStockClass
Represents active security identifiers by stock class.
- mapping(bytes16 => mapping(bytes16 => bytes16[])) activeSecurityIdsByStockClass: Mapping of active security identifiers by stock class.