mirror of
https://github.com/luxfi/captable.git
synced 2026-10-30 17:01:02 +00:00
New packages (types.go + repository.go + service.go each): - safe: YC SAFE taxonomy (pre/post money, cap, discount, MFN, pro rata) - note: convertible notes (interest accrual, conversion triggers) - warrant: exercise price, expiration, cash/cashless exercise - vesting: schedules with tranches, cliff, frequency, performance conditions - kyc: KYC/AML submissions, accreditation verification, provider hooks - omnisub: Alpaca OmniSub accounts, sub-accounts, orders, positions, tax Enhanced existing packages: - securities/types.go: ContractAddress, ChainID, Exemption enum (Reg D/S/A+/CF) - compliance/types.go: RegDCheck (506b/c), RegSCheck, full Rule144Check
23 lines
939 B
Go
23 lines
939 B
Go
package vesting
|
|
|
|
import "context"
|
|
|
|
// Repository defines storage for vesting schedule operations.
|
|
type Repository interface {
|
|
CreateSchedule(ctx context.Context, s *Schedule) error
|
|
GetSchedule(ctx context.Context, id string) (*Schedule, error)
|
|
UpdateSchedule(ctx context.Context, s *Schedule) error
|
|
ListSchedules(ctx context.Context, companyID string) ([]*Schedule, error)
|
|
ListSchedulesByPlan(ctx context.Context, equityPlanID string) ([]*Schedule, error)
|
|
|
|
CreateTranche(ctx context.Context, t *Tranche) error
|
|
ListTranches(ctx context.Context, scheduleID string) ([]*Tranche, error)
|
|
|
|
CreateCondition(ctx context.Context, c *PerformanceCondition) error
|
|
GetCondition(ctx context.Context, id string) (*PerformanceCondition, error)
|
|
|
|
AppendEvent(ctx context.Context, e *Event) error
|
|
ListEvents(ctx context.Context, trancheID string) ([]*Event, error)
|
|
ListEventsBySchedule(ctx context.Context, scheduleID string) ([]*Event, error)
|
|
}
|