For the complete documentation index, see llms.txt. This page is also available as Markdown.

Security types

The SecurityClass enum in src/CyberCorpConstants.sol lists the instrument types the protocol can issue. Each LET contract (a LedgerEntryToken deployment) is created for one SecurityClass and one SecuritySeries.

SecurityClass

enum SecurityClass {
    SAFE,
    SAFT,
    SAFTE,
    TokenPurchaseAgreement,
    TokenWarrant,
    ConvertibleNote,
    CommonStock,
    StockOption,
    PreferredStock,
    RestrictedStockPurchaseAgreement,
    RestrictedStockUnit,
    RestrictedTokenPurchaseAgreement,
    RestrictedTokenUnit
}

SecuritySeries

NA marks a security with no series; ACE marks securities issued through an ACE offering.

SecurityStatus

The status of a Ledger Entry Token (LET). LedgerEntryToken.voidCert sets Void, and the IssuanceManager calls it when it voids an emptied LET (voidEmptyCerts, or a seller's LET fully sold in a secondary trade). A void LET keeps its holder and units but cannot be registered to a new holder.

Security classes (SecurityClassInfo)

Class-level designations for LETs are registered on the IssuanceManager:

IssuanceManager.defineSecurityClass (onlyOwner) registers a class. Each SecurityClass value has at most one class, and several LET contracts can share it. The IssuanceManager page covers class ids, assignment and updates. ShareExtensionV3 reads classData as the class-wide layer of every LET in a share class; see Certificate extensions.

Instrument-specific metadata

Each security class is paired with a certificate extension that encodes its instrument-specific terms. CyberCorpConstants.sol also defines supporting enums for token-warrant and vesting instruments: ExercisePriceMethod, TokenCalculationMethod, UnlockStartTimeType, UnlockingIntervalType.

Last updated

Was this helpful?