Files
captable/pkg/note/repository.go
zeekay d4ba60a8a0 feat: add SAFE, note, warrant, vesting, KYC, OmniSub domain packages
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
2026-04-06 21:02:32 -07:00

14 lines
561 B
Go

package note
import "context"
// Repository defines storage for convertible note operations.
type Repository interface {
Create(ctx context.Context, n *ConvertibleNote) error
Get(ctx context.Context, id string) (*ConvertibleNote, error)
Update(ctx context.Context, n *ConvertibleNote) error
List(ctx context.Context, companyID string) ([]*ConvertibleNote, error)
ListByStakeholder(ctx context.Context, stakeholderID string) ([]*ConvertibleNote, error)
ListByStatus(ctx context.Context, companyID string, status NoteStatus) ([]*ConvertibleNote, error)
}