objects

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 23 Imported by: 0

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"`
	// The initial number of shares authorized for this issuer
	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"`
	// The initial number of shares authorized for this stock class
	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"`
	// Per-share price this stock class was issued for
	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"`
	// The number of votes each share of this stock class gets
	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"`
	// The initial number of shares reserved in the pool for this stock plan by the Board or
	// 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
	IssuerAuthorizedSharesAdjustment     *adjustment.IssuerAuthorizedSharesAdjustment
	StockClassAuthorizedSharesAdjustment *adjustment.StockClassAuthorizedSharesAdjustment
	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"`
	// Valued price per share
	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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL