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?
