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

Security types

The instrument types the protocol can issue are the SecurityClass enum in src/CyberCorpConstants.sol. A LedgerEntryToken cert printer (formerly CyberCertPrinter) is created for a specific SecurityClass (and SecuritySeries).

SecurityClass

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

SecuritySeries

NA is used where a series is not applicable; ACE marks securities issued through an ACE offering.

SecurityStatus

A cyberCERT's status; Void is set by LedgerEntryToken.voidCert.

Security classes (SecurityClassInfo)

Class-level designations for Ledger Entry Tokens are registered on the IssuanceManager:

IssuanceManager.defineSecurityClass (onlyOwner) registers a class; classIds are sequential starting at 1 (0 = unclassified). setPrinterClass assigns a cert printer (the series scope) to a class; multiple printers can share one class.

Instrument-specific metadata

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

Last updated

Was this helpful?