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.