Protocol SpecificationStructs Library

Structs Library

Structs.sol is shared by CapTable, StockLib, TxHelper, and Adjustment.

Core

StructKey fields
Issuerid, legal_name, shares_issued, shares_authorized
StockClassid, class_type, price_per_share, shares_issued, shares_authorized
Stakeholderid, stakeholder_type, current_relationship
StockLegendTemplateid

Positions

StructKey fields
ActivePositionstock_class_id, quantity, share_price, timestamp
ActivePositionsactivePositions[stakeholder_id][security_id]
SecIdsStockClassactiveSecurityIdsByStockClass[stakeholder_id][stock_class_id]

Initial seeding

StructKey fields
IssuerInitialSharesshares_authorized, shares_issued
StockClassInitialSharesid, shares_authorized, shares_issued
InitialSharesissuerInitialShares, stockClassesInitialShares

Inputs

StructUsed byKey fields
ShareNumbersIssuedIssuancestarting_share_number, ending_share_number
StockIssuanceParamsIssuancestock_class_id, quantity, share_price, stakeholder_id, approvals, legends, comments
StockTransferParamsTransfertransferor_stakeholder_id, transferee_stakeholder_id, stock_class_id, is_buyer_verified, quantity, share_price, nonce, custom_id
StockParamsRetraction, reissue, cancellation, repurchasestakeholder_id, stock_class_id, security_id, comments, reason_text
StockParamsQuantityCancellation, repurchasenonce, quantity, stakeholder/security IDs, comments, reason text

Transaction payloads

StructTx typeKey fields
StockIssuanceTX_STOCK_ISSUANCEid, object_type, security_id, params
StockTransferTX_STOCK_TRANSFERid, quantity, security_id, balance_security_id, resulting_security_ids
StockCancellationTX_STOCK_CANCELLATIONid, quantity, security_id, reason_text, balance_security_id
StockRetractionTX_STOCK_RETRACTIONid, security_id, reason_text, comments
StockReissuanceTX_STOCK_REISSUANCEid, security_id, resulting_security_ids, split_transaction_id, reason_text
StockRepurchaseTX_STOCK_REPURCHASEid, security_id, quantity, price, consideration_text, balance_security_id
StockAcceptanceTX_STOCK_ACCEPTANCEid, security_id, comments
IssuerAuthorizedSharesAdjustmentTX_ISSUER_AUTHORIZED_SHARES_ADJUSTMENTid, new_shares_authorized, approvals, comments
StockClassAuthorizedSharesAdjustmentTX_STOCK_CLASS_AUTHORIZED_SHARES_ADJUSTMENTid, new_shares_authorized, approvals, comments

IDs

TypeSolidityAPI
Issuer/stakeholder/class/security IDsbytes16UUID strings converted by server utilities.
Onchain tx IDsbytes16Decoded before MongoDB persistence.
WalletsaddressHex EVM address strings.

Route shapes: API Reference. Lifecycle behavior: Stock Functions.