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
22 lines
1.0 KiB
Go
22 lines
1.0 KiB
Go
package kyc
|
|
|
|
import "context"
|
|
|
|
// Repository defines storage for KYC/AML/accreditation operations.
|
|
type Repository interface {
|
|
CreateSubmission(ctx context.Context, s *Submission) error
|
|
GetSubmission(ctx context.Context, id string) (*Submission, error)
|
|
UpdateSubmission(ctx context.Context, s *Submission) error
|
|
ListSubmissions(ctx context.Context, stakeholderID string) ([]*Submission, error)
|
|
ListSubmissionsByCompany(ctx context.Context, companyID string) ([]*Submission, error)
|
|
|
|
CreateScreening(ctx context.Context, s *AMLScreening) error
|
|
GetScreening(ctx context.Context, id string) (*AMLScreening, error)
|
|
ListScreenings(ctx context.Context, stakeholderID string) ([]*AMLScreening, error)
|
|
|
|
CreateAccreditation(ctx context.Context, a *AccreditationVerification) error
|
|
GetAccreditation(ctx context.Context, id string) (*AccreditationVerification, error)
|
|
UpdateAccreditation(ctx context.Context, a *AccreditationVerification) error
|
|
ListAccreditations(ctx context.Context, stakeholderID string) ([]*AccreditationVerification, error)
|
|
}
|