Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Issuer ¶
type Issuer struct {
objects.Object
// The headquarters address of the issuing company
Address *types.Address `json:"address,omitempty"`
// The country where the issuer company was legally formed (ISO 3166-1 alpha-2)
CountryOfFormation string `json:"country_of_formation"`
// The state, province, or subdivision where the issuer company was legally formed
CountrySubdivisionOfFormation *string `json:"country_subdivision_of_formation,omitempty"`
// Doing Business As name
DBA *string `json:"dba,omitempty"`
// A work email that the issuer company can be reached at
Email *types.Email `json:"email,omitempty"`
// Date of formation
FormationDate string `json:"formation_date"`
InitialSharesAuthorized *string `json:"initial_shares_authorized,omitempty"`
// Legal name of the issuer
LegalName string `json:"legal_name"`
// A phone number that the issuer company can be reached at
Phone *types.Phone `json:"phone,omitempty"`
// The tax ids for this issuer company
TaxIDS []types.TaxID `json:"tax_ids,omitempty"`
}
Object describing the issuer of the cap table (the company whose cap table this is)
type MarshalStruct ¶ added in v0.1.5
type MarshalStruct struct {
objects.Object
transactions.Transaction
}
type Stakeholder ¶
type Stakeholder struct {
objects.Object
// Addresses for the stakeholder
Addresses []types.Address `json:"addresses,omitempty"`
// The contact info for an individual stakeholder
ContactInfo *types.ContactInfoWithoutName `json:"contact_info,omitempty"`
// What is the current relationship of the stakeholder to the issuer?
CurrentRelationship *enums.StakeholderRelationshipType `json:"current_relationship,omitempty"`
// This might be any sort of id assigned to the stakeholder by the issuer, such as an
// internal company ID for an employee stakeholder
IssuerAssignedID *string `json:"issuer_assigned_id,omitempty"`
// Name for the stakeholder
Name types.Name `json:"name"`
// The primary contact info for an institutional stakeholder
PrimaryContact *types.ContactInfo `json:"primary_contact,omitempty"`
// Distinguish individuals from institutions
StakeholderType enums.StakeholderType `json:"stakeholder_type"`
// The tax ids for this stakeholder
TaxIDS []types.TaxID `json:"tax_ids,omitempty"`
}
Object describing a stakeholder
type StockClass ¶
type StockClass struct {
objects.Object
// Date on which the board approved the stock class
BoardApprovalDate *string `json:"board_approval_date,omitempty"`
// The type of this stock class (e.g. Preferred or Common)
ClassType enums.StockClassType `json:"class_type"`
// List of stock class conversion rights possible for this stock class
ConversionRights []conversionrights.StockClassConversionRight `json:"conversion_rights,omitempty"`
// Default prefix for certificate numbers in certificated shares (e.g. CS- in CS-1). If
// certificate IDs have a dash, the prefix should end in the dash like CS-
DefaultIDPrefix string `json:"default_id_prefix"`
InitialSharesAuthorized string `json:"initial_shares_authorized"`
// The liquidation preference per share for this stock class
LiquidationPreferenceMultiple *string `json:"liquidation_preference_multiple,omitempty"`
// Name for the stock type (e.g. Series A Preferred or Class A Common)
Name string `json:"name"`
// Per-share par value of this stock class
ParValue *types.Monetary `json:"par_value,omitempty"`
// The participation cap multiple per share for this stock class
ParticipationCapMultiple *string `json:"participation_cap_multiple,omitempty"`
PricePerShare *types.Monetary `json:"price_per_share,omitempty"`
// Seniority of the stock - determines repayment priority. Seniority is ordered by
// increasing number so that stock classes with a higher seniority have higher repayment
// priority. The following properties hold for all stock classes for a given company:
// a) transitivity: stock classes are absolutely stackable by seniority and in increasing
// numerical order,
// b) non-uniqueness: multiple stock classes can have the same Seniority number and
// therefore have the same liquidation/repayment order.
// In practice, stock classes with same seniority may be created at different points in time
// and (for example, an extension of an existing preferred financing round), and also a new
// stock class can be created with seniority between two existing stock classes, in which
// case it is assigned some decimal number between the numbers representing seniority of the
// respective classes.
Seniority string `json:"seniority"`
// Date on which the stockholders approved the stock class
StockholderApprovalDate *string `json:"stockholder_approval_date,omitempty"`
VotesPerShare string `json:"votes_per_share"`
}
Object describing a class of stock issued by the issuer
type StockLegendTemplate ¶
type StockLegendTemplate struct {
objects.Object
// Name for the stock legend template
Name string `json:"name"`
// The full text of the stock legend
Text string `json:"text"`
}
Object describing a stock legend template
type StockPlan ¶
type StockPlan struct {
objects.Object
// Date on which board approved the plan
BoardApprovalDate *string `json:"board_approval_date,omitempty"`
// If a security issued under this Stock Plan is cancelled, what happens to the reserved
// shares by default? NOTE: for any given security issued from the pool, the Plan's default
// cancellation behavior can be overridden by subsequent transactions cancelling the
// reserved stock, returning it to pool or marking it as capital stock. The event chain
// should always control - do not rely on this field and fail to traverse the events.
DefaultCancellationBehavior *enums.StockPlanCancellationBehaviorType `json:"default_cancellation_behavior,omitempty"`
// equivalent body.
InitialSharesReserved string `json:"initial_shares_reserved"`
// Name for the stock plan
PlanName string `json:"plan_name"`
// Identifier of the StockClass object this plan is composed of
StockClassID string `json:"stock_class_id"`
// This optional field tracks when the stockholders approved this stock plan. This is
// intended for use by US companies that want to issue Incentive Stock Options (ISOs), as
// the issuing StockPlan must receive shareholder approval within a specified time frame in
// order to issue valid ISOs.
StockholderApprovalDate *string `json:"stockholder_approval_date,omitempty"`
}
Object describing a plan which stock options are issued from
type Transaction ¶
type Transaction struct {
objects.Object
transactions.Transaction
//Acceptance
ConvertibleAcceptance *acceptance.ConvertibleAcceptance
EquityCompensationAcceptance *acceptance.EquityCompensationAcceptance
PlanSecurityAcceptance *acceptance.PlanSecurityAcceptance
StockAcceptance *acceptance.StockAcceptance
WarrantAcceptance *acceptance.WarrantAcceptance
//Adjustment
StockClassConversionRatioAdjustment *adjustment.StockClassConversionRatioAdjustment
StockPlanPoolAdjustment *adjustment.StockPlanPoolAdjustment
//Cancellation
ConvertibleCancellation *cancellation.ConvertibleCancellation
EquityCompensationCancellation *cancellation.EquityCompensationCancellation
PlanSecurityCancellation *cancellation.PlanSecurityCancellation
StockCancellation *cancellation.StockCancellation
WarrantCancellation *cancellation.WarrantCancellation
//Conversion
ConvertibleConversion *conversion.ConvertibleConversion
StockConversion *conversion.StockConversion
//Exercise
EquityCompensationExercise *exercise.EquityCompensationExercise
PlanSecurityExercise *exercise.PlanSecurityExercise
WarrantExercise *exercise.WarrantExercise
//Issuance
ConvertibleIssuance *issuance.ConvertibleIssuance
EquityCompensationIssuance *issuance.EquityCompensationIssuance
PlanSecurityIssuance *issuance.PlanSecurityIssuance
StockIssuance *issuance.StockIssuance
WarrantIssuance *issuance.WarrantIssuance
//Reissuance
StockReissuance *reissuance.StockReissuance
//Release
EquityCompensationRelease *release.EquityCompensationRelease
PlanSecurityRelease *release.PlanSecurityRelease
//Repurchase
StockRepurchase *repurchase.StockRepurchase
//Retraction
ConvertibleRetraction *retraction.ConvertibleRetraction
EquityCompensationRetraction *retraction.EquityCompensationRetraction
PlanSecurityRetraction *retraction.PlanSecurityRetraction
StockRetraction *retraction.StockRetraction
WarrantRetraction *retraction.WarrantRetraction
//ReturnToPool
StockPlanReturnToPool *returntopool.StockPlanReturnToPool
//Split
StockClassSplit *split.StockClassSplit
//Transfer
ConvertibleTransfer *transfer.ConvertibleTransfer
EquityCompensationTransfer *transfer.EquityCompensationTransfer
PlanSecurityTransfer *transfer.PlanSecurityTransfer
StockTransfer *transfer.StockTransfer
WarrantTransfer *transfer.WarrantTransfer
//Vesting
VestingAcceleration *vesting.VestingAcceleration
VestingEvent *vesting.VestingEvent
VestingStart *vesting.VestingStart
}
func (*Transaction) MarshalJSON ¶
func (t *Transaction) MarshalJSON() ([]byte, error)
func (*Transaction) UnmarshalJSON ¶
func (t *Transaction) UnmarshalJSON(data []byte) error
type Valuation ¶
type Valuation struct {
objects.Object
// Date on which board approved the valuation. This is essential for 409A valuations, in
// particular, which require the Board to approve the valuation.
BoardApprovalDate *string `json:"board_approval_date,omitempty"`
// Date on which this valuation is first valid
EffectiveDate string `json:"effective_date"`
PricePerShare types.Monetary `json:"price_per_share"`
// Entity which provided the valuation
Provider *string `json:"provider,omitempty"`
// Identifier of the stock class for this valuation
StockClassID string `json:"stock_class_id"`
// This optional field tracks when the stockholders approved the valuation.
StockholderApprovalDate *string `json:"stockholder_approval_date,omitempty"`
// Seam for supporting different types of valuations in future versions
ValuationType enums.ValuationType `json:"valuation_type"`
}
Object describing a valuation used in the cap table
type VestingTerms ¶
type VestingTerms struct {
objects.Object
// Allocation/rounding type for the vesting schedule
AllocationType enums.AllocationType `json:"allocation_type"`
// Detailed description of the vesting schedule
Description string `json:"description"`
// Concise name for the vesting schedule
Name string `json:"name"`
// Conditions and triggers that describe the graph of vesting schedules and events
VestingConditions []vesting.VestingCondition `json:"vesting_conditions"`
}
Object describing the terms under which a security vests
Source Files
¶
Click to show internal directories.
Click to hide internal directories.