models

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 11 Imported by: 19

Documentation

Index

Constants

View Source
const (
	BusinessCategoryUnknown       = BusinessCategory_UNKNOWN_ENTITY
	BusinessCategoryPrivate       = BusinessCategory_PRIVATE_ORGANIZATION
	BusinessCategoryGovernment    = BusinessCategory_GOVERNMENT_ENTITY
	BusinessCategoryBusiness      = BusinessCategory_BUSINESS_ENTITY
	BusinessCategoryNonCommercial = BusinessCategory_NON_COMMERCIAL_ENTITY
)

Business Category Enumeration Helpers

View Source
const (
	VASPCategoryUnknown    = "Unknown"
	VASPCategoryExchange   = "Exchange"
	VASPCategoryDEX        = "DEX"
	VASPCategoryP2P        = "P2P"
	VASPCategoryKiosk      = "Kiosk"
	VASPCategoryCustodian  = "Custodian"
	VASPCategoryOTC        = "OTC"
	VASPCategoryFund       = "Fund"
	VASPCategoryProject    = "Project"
	VASPCategoryGambling   = "Gambling"
	VASPCategoryMiner      = "Miner"
	VASPCategoryMixer      = "Mixer"
	VASPCategoryIndividual = "Individual"
	VASPCategoryOther      = "Other"
)

VASP Category Enumeration Helpers

Variables

View Source
var (
	BusinessCategory_name = map[int32]string{
		0: "UNKNOWN_ENTITY",
		1: "PRIVATE_ORGANIZATION",
		2: "GOVERNMENT_ENTITY",
		3: "BUSINESS_ENTITY",
		4: "NON_COMMERCIAL_ENTITY",
		5: "NON_VASP_ENTITY",
	}
	BusinessCategory_value = map[string]int32{
		"UNKNOWN_ENTITY":        0,
		"PRIVATE_ORGANIZATION":  1,
		"GOVERNMENT_ENTITY":     2,
		"BUSINESS_ENTITY":       3,
		"NON_COMMERCIAL_ENTITY": 4,
		"NON_VASP_ENTITY":       5,
	}
)

Enum value maps for BusinessCategory.

View Source
var (
	VerificationState_name = map[int32]string{
		0: "NO_VERIFICATION",
		1: "SUBMITTED",
		2: "EMAIL_VERIFIED",
		3: "PENDING_REVIEW",
		4: "REVIEWED",
		5: "ISSUING_CERTIFICATE",
		6: "VERIFIED",
		7: "REJECTED",
		8: "APPEALED",
		9: "ERRORED",
	}
	VerificationState_value = map[string]int32{
		"NO_VERIFICATION":     0,
		"SUBMITTED":           1,
		"EMAIL_VERIFIED":      2,
		"PENDING_REVIEW":      3,
		"REVIEWED":            4,
		"ISSUING_CERTIFICATE": 5,
		"VERIFIED":            6,
		"REJECTED":            7,
		"APPEALED":            8,
		"ERRORED":             9,
	}
)

Enum value maps for VerificationState.

View Source
var (
	ServiceState_name = map[int32]string{
		0: "UNKNOWN",
		1: "HEALTHY",
		2: "UNHEALTHY",
		3: "DANGER",
		4: "OFFLINE",
		5: "MAINTENANCE",
	}
	ServiceState_value = map[string]int32{
		"UNKNOWN":     0,
		"HEALTHY":     1,
		"UNHEALTHY":   2,
		"DANGER":      3,
		"OFFLINE":     4,
		"MAINTENANCE": 5,
	}
)

Enum value maps for ServiceState.

View Source
var File_trisa_gds_models_v1beta1_ca_proto protoreflect.FileDescriptor
View Source
var File_trisa_gds_models_v1beta1_models_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type BusinessCategory

type BusinessCategory int32
const (
	BusinessCategory_UNKNOWN_ENTITY        BusinessCategory = 0
	BusinessCategory_PRIVATE_ORGANIZATION  BusinessCategory = 1
	BusinessCategory_GOVERNMENT_ENTITY     BusinessCategory = 2
	BusinessCategory_BUSINESS_ENTITY       BusinessCategory = 3
	BusinessCategory_NON_COMMERCIAL_ENTITY BusinessCategory = 4
	BusinessCategory_NON_VASP_ENTITY       BusinessCategory = 5
)

func ParseBusinessCategory

func ParseBusinessCategory(s string) (BusinessCategory, error)

ParseBusinessCategory from text representation.

func (BusinessCategory) Descriptor

func (BusinessCategory) Enum

func (BusinessCategory) EnumDescriptor deprecated

func (BusinessCategory) EnumDescriptor() ([]byte, []int)

Deprecated: Use BusinessCategory.Descriptor instead.

func (BusinessCategory) Number

func (BusinessCategory) String

func (x BusinessCategory) String() string

func (BusinessCategory) Type

type Certificate

type Certificate struct {

	// x.509 metadata information for ease of reference
	// note that the serial number as a hex string can be used with the Sectigo API
	Version            int64  `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	SerialNumber       []byte `protobuf:"bytes,2,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
	Signature          []byte `protobuf:"bytes,3,opt,name=signature,proto3" json:"signature,omitempty"`
	SignatureAlgorithm string `protobuf:"bytes,4,opt,name=signature_algorithm,json=signatureAlgorithm,proto3" json:"signature_algorithm,omitempty"`
	PublicKeyAlgorithm string `protobuf:"bytes,5,opt,name=public_key_algorithm,json=publicKeyAlgorithm,proto3" json:"public_key_algorithm,omitempty"`
	// Issuer and subject information from Sectigo
	Subject *Name `protobuf:"bytes,6,opt,name=subject,proto3" json:"subject,omitempty"`
	Issuer  *Name `protobuf:"bytes,7,opt,name=issuer,proto3" json:"issuer,omitempty"`
	// Validity information
	NotBefore string `protobuf:"bytes,8,opt,name=not_before,json=notBefore,proto3" json:"not_before,omitempty"`
	NotAfter  string `protobuf:"bytes,9,opt,name=not_after,json=notAfter,proto3" json:"not_after,omitempty"`
	Revoked   bool   `protobuf:"varint,10,opt,name=revoked,proto3" json:"revoked,omitempty"`
	// The ASN1 encoded full certificate without the trust chain
	Data []byte `protobuf:"bytes,11,opt,name=data,proto3" json:"data,omitempty"`
	// The complete trust chain including the leaf certificate as a gzip compressed
	// PEM encoded file. This field can be deserialized into a trust.Provider.
	Chain []byte `protobuf:"bytes,12,opt,name=chain,proto3" json:"chain,omitempty"`
	// contains filtered or unexported fields
}

func (*Certificate) Descriptor deprecated

func (*Certificate) Descriptor() ([]byte, []int)

Deprecated: Use Certificate.ProtoReflect.Descriptor instead.

func (*Certificate) GetChain

func (x *Certificate) GetChain() []byte

func (*Certificate) GetData

func (x *Certificate) GetData() []byte

func (*Certificate) GetIssuer

func (x *Certificate) GetIssuer() *Name

func (*Certificate) GetNotAfter

func (x *Certificate) GetNotAfter() string

func (*Certificate) GetNotBefore

func (x *Certificate) GetNotBefore() string

func (*Certificate) GetPublicKeyAlgorithm

func (x *Certificate) GetPublicKeyAlgorithm() string

func (*Certificate) GetRevoked

func (x *Certificate) GetRevoked() bool

func (*Certificate) GetSerialNumber

func (x *Certificate) GetSerialNumber() []byte

func (*Certificate) GetSignature

func (x *Certificate) GetSignature() []byte

func (*Certificate) GetSignatureAlgorithm

func (x *Certificate) GetSignatureAlgorithm() string

func (*Certificate) GetSubject

func (x *Certificate) GetSubject() *Name

func (*Certificate) GetVersion

func (x *Certificate) GetVersion() int64

func (*Certificate) ProtoMessage

func (*Certificate) ProtoMessage()

func (*Certificate) ProtoReflect

func (x *Certificate) ProtoReflect() protoreflect.Message

func (*Certificate) Reset

func (x *Certificate) Reset()

func (*Certificate) String

func (x *Certificate) String() string

type Contact

type Contact struct {

	// Name is required to identify and address the contact
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// An email address is required for all contacts
	Email string `protobuf:"bytes,2,opt,name=email,proto3" json:"email,omitempty"`
	// Phone number is optional, but it is strongly suggested
	Phone string `protobuf:"bytes,3,opt,name=phone,proto3" json:"phone,omitempty"`
	// Optional KYC data if required for the directory service contact.
	Person *ivms101.NaturalPerson `protobuf:"bytes,4,opt,name=person,proto3" json:"person,omitempty"`
	// Extra data that might be stored by the directory service related to the Contact.
	// Should not be populated by client code.
	Extra *anypb.Any `protobuf:"bytes,5,opt,name=extra,proto3" json:"extra,omitempty"`
	// contains filtered or unexported fields
}

func (*Contact) Descriptor deprecated

func (*Contact) Descriptor() ([]byte, []int)

Deprecated: Use Contact.ProtoReflect.Descriptor instead.

func (*Contact) GetEmail

func (x *Contact) GetEmail() string

func (*Contact) GetExtra added in v0.2.0

func (x *Contact) GetExtra() *anypb.Any

func (*Contact) GetName

func (x *Contact) GetName() string

func (*Contact) GetPerson

func (x *Contact) GetPerson() *ivms101.NaturalPerson

func (*Contact) GetPhone

func (x *Contact) GetPhone() string

func (*Contact) IsZero added in v0.3.3

func (c *Contact) IsZero() bool

IsZero returns true if the contact is empty; e.g. it has no name, email, or phone number. The Natural Person record on the contact is ignored since this is a deep nested structure. The extra field is also ignored since this is side data.

func (*Contact) ProtoMessage

func (*Contact) ProtoMessage()

func (*Contact) ProtoReflect

func (x *Contact) ProtoReflect() protoreflect.Message

func (*Contact) Reset

func (x *Contact) Reset()

func (*Contact) String

func (x *Contact) String() string

func (*Contact) Validate added in v0.3.3

func (c *Contact) Validate() (err error)

Validate checks if a contact record is complete with all required fields.

type Contacts

type Contacts struct {
	Technical      *Contact `protobuf:"bytes,1,opt,name=technical,proto3" json:"technical,omitempty"`
	Administrative *Contact `protobuf:"bytes,2,opt,name=administrative,proto3" json:"administrative,omitempty"`
	Legal          *Contact `protobuf:"bytes,3,opt,name=legal,proto3" json:"legal,omitempty"`
	Billing        *Contact `protobuf:"bytes,4,opt,name=billing,proto3" json:"billing,omitempty"`
	// contains filtered or unexported fields
}

At least one of the following contact information is required for the VASP to be registered in a TRISA directory. Contact information should be kept private in the directory service and only used for email communication or verification.

func (*Contacts) Descriptor deprecated

func (*Contacts) Descriptor() ([]byte, []int)

Deprecated: Use Contacts.ProtoReflect.Descriptor instead.

func (*Contacts) GetAdministrative

func (x *Contacts) GetAdministrative() *Contact

func (*Contacts) GetBilling

func (x *Contacts) GetBilling() *Contact

func (*Contacts) GetLegal

func (x *Contacts) GetLegal() *Contact

func (*Contacts) GetTechnical

func (x *Contacts) GetTechnical() *Contact

func (*Contacts) ProtoMessage

func (*Contacts) ProtoMessage()

func (*Contacts) ProtoReflect

func (x *Contacts) ProtoReflect() protoreflect.Message

func (*Contacts) Reset

func (x *Contacts) Reset()

func (*Contacts) String

func (x *Contacts) String() string

func (*Contacts) Validate added in v0.3.3

func (c *Contacts) Validate() (err error)

Validate checks is the required contacts are not zero and properly structured.

type Jurisdiction

type Jurisdiction struct {
	Country       string `protobuf:"bytes,1,opt,name=country,proto3" json:"country,omitempty"`
	RegulatorName string `protobuf:"bytes,2,opt,name=regulator_name,json=regulatorName,proto3" json:"regulator_name,omitempty"`
	LicenseNumber string `protobuf:"bytes,3,opt,name=license_number,json=licenseNumber,proto3" json:"license_number,omitempty"`
	// contains filtered or unexported fields
}

func (*Jurisdiction) Descriptor deprecated

func (*Jurisdiction) Descriptor() ([]byte, []int)

Deprecated: Use Jurisdiction.ProtoReflect.Descriptor instead.

func (*Jurisdiction) GetCountry

func (x *Jurisdiction) GetCountry() string

func (*Jurisdiction) GetLicenseNumber

func (x *Jurisdiction) GetLicenseNumber() string

func (*Jurisdiction) GetRegulatorName

func (x *Jurisdiction) GetRegulatorName() string

func (*Jurisdiction) ProtoMessage

func (*Jurisdiction) ProtoMessage()

func (*Jurisdiction) ProtoReflect

func (x *Jurisdiction) ProtoReflect() protoreflect.Message

func (*Jurisdiction) Reset

func (x *Jurisdiction) Reset()

func (*Jurisdiction) String

func (x *Jurisdiction) String() string

type Name

type Name struct {
	CommonName         string   `protobuf:"bytes,1,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"`
	SerialNumber       string   `protobuf:"bytes,2,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"`
	Organization       []string `protobuf:"bytes,3,rep,name=organization,proto3" json:"organization,omitempty"`
	OrganizationalUnit []string `protobuf:"bytes,4,rep,name=organizational_unit,json=organizationalUnit,proto3" json:"organizational_unit,omitempty"`
	StreetAddress      []string `protobuf:"bytes,5,rep,name=street_address,json=streetAddress,proto3" json:"street_address,omitempty"`
	Locality           []string `protobuf:"bytes,6,rep,name=locality,proto3" json:"locality,omitempty"`
	Province           []string `protobuf:"bytes,7,rep,name=province,proto3" json:"province,omitempty"`
	PostalCode         []string `protobuf:"bytes,8,rep,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"`
	Country            []string `protobuf:"bytes,9,rep,name=country,proto3" json:"country,omitempty"`
	// contains filtered or unexported fields
}

An X.509 distinguished name with the common elements of a DN.

func (*Name) Descriptor deprecated

func (*Name) Descriptor() ([]byte, []int)

Deprecated: Use Name.ProtoReflect.Descriptor instead.

func (*Name) GetCommonName

func (x *Name) GetCommonName() string

func (*Name) GetCountry

func (x *Name) GetCountry() []string

func (*Name) GetLocality

func (x *Name) GetLocality() []string

func (*Name) GetOrganization

func (x *Name) GetOrganization() []string

func (*Name) GetOrganizationalUnit

func (x *Name) GetOrganizationalUnit() []string

func (*Name) GetPostalCode

func (x *Name) GetPostalCode() []string

func (*Name) GetProvince

func (x *Name) GetProvince() []string

func (*Name) GetSerialNumber

func (x *Name) GetSerialNumber() string

func (*Name) GetStreetAddress

func (x *Name) GetStreetAddress() []string

func (*Name) ProtoMessage

func (*Name) ProtoMessage()

func (*Name) ProtoReflect

func (x *Name) ProtoReflect() protoreflect.Message

func (*Name) Reset

func (x *Name) Reset()

func (*Name) String

func (x *Name) String() string

type ServiceState

type ServiceState int32
const (
	ServiceState_UNKNOWN     ServiceState = 0
	ServiceState_HEALTHY     ServiceState = 1
	ServiceState_UNHEALTHY   ServiceState = 2
	ServiceState_DANGER      ServiceState = 3
	ServiceState_OFFLINE     ServiceState = 4
	ServiceState_MAINTENANCE ServiceState = 5
)

func (ServiceState) Descriptor

func (ServiceState) Enum

func (x ServiceState) Enum() *ServiceState

func (ServiceState) EnumDescriptor deprecated

func (ServiceState) EnumDescriptor() ([]byte, []int)

Deprecated: Use ServiceState.Descriptor instead.

func (ServiceState) Number

func (ServiceState) String

func (x ServiceState) String() string

func (ServiceState) Type

type TRIXOQuestionnaire

type TRIXOQuestionnaire struct {

	// Should be the name of the country or an ISO-3166-1 code.
	PrimaryNationalJurisdiction string `` /* 144-byte string literal not displayed */
	// Name of primary financial regulator or supervisory authority.
	PrimaryRegulator string `protobuf:"bytes,2,opt,name=primary_regulator,json=primaryRegulator,proto3" json:"primary_regulator,omitempty"`
	// Is the VASP permitted to send and/or receive transfers of virtual assets in the
	// jurisdictions in which it operates?
	// One of yes, no, partially
	FinancialTransfersPermitted string `` /* 144-byte string literal not displayed */
	// Other jurisdictions in which the entity operates.
	OtherJurisdictions []*Jurisdiction `protobuf:"bytes,4,rep,name=other_jurisdictions,json=otherJurisdictions,proto3" json:"other_jurisdictions,omitempty"`
	// Does the VASP have a programme that sets minimum AML, CFT, KYC/CDD and sanctions
	// standards per the requirements of the jurisdiction(s) regulatory regimes where
	// it is licensed/approved/registered?
	// Either yes or no
	HasRequiredRegulatoryProgram string `` /* 149-byte string literal not displayed */
	// Does the VASP conduct KYC/CDD before permitting its customers to send/receive
	// virtual asset transfers?
	ConductsCustomerKyc bool `protobuf:"varint,6,opt,name=conducts_customer_kyc,json=conductsCustomerKyc,proto3" json:"conducts_customer_kyc,omitempty"`
	// At what threshold does the VASP conduct KYC?
	KycThreshold         float32 `protobuf:"fixed32,7,opt,name=kyc_threshold,json=kycThreshold,proto3" json:"kyc_threshold,omitempty"`
	KycThresholdCurrency string  `protobuf:"bytes,8,opt,name=kyc_threshold_currency,json=kycThresholdCurrency,proto3" json:"kyc_threshold_currency,omitempty"`
	// Is the VASP required to comply with the application of the Travel Rule standards
	// in the jurisdiction(s) where it is licensed/approved/registered?
	MustComplyTravelRule bool `` /* 126-byte string literal not displayed */
	// Applicable Travel Regulations the VASP must comply with.
	ApplicableRegulations []string `protobuf:"bytes,10,rep,name=applicable_regulations,json=applicableRegulations,proto3" json:"applicable_regulations,omitempty"`
	// What is the minimum threshold for travel rule compliance?
	ComplianceThreshold         float32 `protobuf:"fixed32,11,opt,name=compliance_threshold,json=complianceThreshold,proto3" json:"compliance_threshold,omitempty"`
	ComplianceThresholdCurrency string  `` /* 145-byte string literal not displayed */
	// Is the VASP required by law to safeguard PII?
	MustSafeguardPii bool `protobuf:"varint,13,opt,name=must_safeguard_pii,json=mustSafeguardPii,proto3" json:"must_safeguard_pii,omitempty"`
	// Does the VASP secure and protect PII, including PII received from other VASPs
	// under the Travel Rule? (yes/no)
	SafeguardsPii bool `protobuf:"varint,14,opt,name=safeguards_pii,json=safeguardsPii,proto3" json:"safeguards_pii,omitempty"`
	// contains filtered or unexported fields
}

func (*TRIXOQuestionnaire) Descriptor deprecated

func (*TRIXOQuestionnaire) Descriptor() ([]byte, []int)

Deprecated: Use TRIXOQuestionnaire.ProtoReflect.Descriptor instead.

func (*TRIXOQuestionnaire) GetApplicableRegulations

func (x *TRIXOQuestionnaire) GetApplicableRegulations() []string

func (*TRIXOQuestionnaire) GetComplianceThreshold

func (x *TRIXOQuestionnaire) GetComplianceThreshold() float32

func (*TRIXOQuestionnaire) GetComplianceThresholdCurrency added in v0.2.0

func (x *TRIXOQuestionnaire) GetComplianceThresholdCurrency() string

func (*TRIXOQuestionnaire) GetConductsCustomerKyc

func (x *TRIXOQuestionnaire) GetConductsCustomerKyc() bool

func (*TRIXOQuestionnaire) GetFinancialTransfersPermitted

func (x *TRIXOQuestionnaire) GetFinancialTransfersPermitted() string

func (*TRIXOQuestionnaire) GetHasRequiredRegulatoryProgram

func (x *TRIXOQuestionnaire) GetHasRequiredRegulatoryProgram() string

func (*TRIXOQuestionnaire) GetKycThreshold

func (x *TRIXOQuestionnaire) GetKycThreshold() float32

func (*TRIXOQuestionnaire) GetKycThresholdCurrency added in v0.2.0

func (x *TRIXOQuestionnaire) GetKycThresholdCurrency() string

func (*TRIXOQuestionnaire) GetMustComplyTravelRule

func (x *TRIXOQuestionnaire) GetMustComplyTravelRule() bool

func (*TRIXOQuestionnaire) GetMustSafeguardPii

func (x *TRIXOQuestionnaire) GetMustSafeguardPii() bool

func (*TRIXOQuestionnaire) GetOtherJurisdictions

func (x *TRIXOQuestionnaire) GetOtherJurisdictions() []*Jurisdiction

func (*TRIXOQuestionnaire) GetPrimaryNationalJurisdiction

func (x *TRIXOQuestionnaire) GetPrimaryNationalJurisdiction() string

func (*TRIXOQuestionnaire) GetPrimaryRegulator

func (x *TRIXOQuestionnaire) GetPrimaryRegulator() string

func (*TRIXOQuestionnaire) GetSafeguardsPii

func (x *TRIXOQuestionnaire) GetSafeguardsPii() bool

func (*TRIXOQuestionnaire) ProtoMessage

func (*TRIXOQuestionnaire) ProtoMessage()

func (*TRIXOQuestionnaire) ProtoReflect

func (x *TRIXOQuestionnaire) ProtoReflect() protoreflect.Message

func (*TRIXOQuestionnaire) Reset

func (x *TRIXOQuestionnaire) Reset()

func (*TRIXOQuestionnaire) String

func (x *TRIXOQuestionnaire) String() string

type VASP

type VASP struct {

	// A unique identifier generated by the directory service, should be a globally
	// unique identifier generated by the directory specified in registered_directory.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The url of directory that registered this VASP, e.g. vaspdirectory.net. The
	// id of the VASP must must be unique with respect to this field.
	RegisteredDirectory string `protobuf:"bytes,2,opt,name=registered_directory,json=registeredDirectory,proto3" json:"registered_directory,omitempty"`
	// The legal entity IVMS 101 data for VASP KYC information exchange. This is the
	// IVMS 101 data that should be exchanged in the TRISA P2P protocol as the
	// Originator, Intermediate, or Beneficiary VASP fields. A complete and valid
	// identity record with country of registration is required.
	Entity *ivms101.LegalPerson `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
	// Technical, legal, billing, and administrative contacts for the VASP.
	Contacts *Contacts `protobuf:"bytes,4,opt,name=contacts,proto3" json:"contacts,omitempty"`
	// Certificate information and public key material issued to the VASP to facilitate
	// mTLS connections between TRISA partners. If the VASP has not been verified then
	// the certificate will not be issued. This field is the most recently issued
	// certificate but may or may not be revoked.
	// In the white paper, this is referred to as the Identity EV-Cert.
	IdentityCertificate *Certificate `protobuf:"bytes,5,opt,name=identity_certificate,json=identityCertificate,proto3" json:"identity_certificate,omitempty"`
	// Signing-key certificates and public key material used to sign transactions. The
	// primary use of signing-key certificates is to asymmetrically encrypt and sign
	// per-transaction symmetric encryption keys. A VASP can maintain any number of
	// signing certificates, which are idnetified by their signature or serial number.
	SigningCertificates []*Certificate `protobuf:"bytes,6,rep,name=signing_certificates,json=signingCertificates,proto3" json:"signing_certificates,omitempty"`
	// Domain name of the TRISA endpoint used as the common name for the certificate.
	// This field must be unique per VASP as it identifies the Certificate and is used
	// directly in lookups.
	CommonName string `protobuf:"bytes,7,opt,name=common_name,json=commonName,proto3" json:"common_name,omitempty"`
	// Travel Rule Implementation Endpoint - where other TRISA peers should connect.
	// This should be an addr:port combination, e.g. trisa.vaspbot.net:443
	TrisaEndpoint string `protobuf:"bytes,8,opt,name=trisa_endpoint,json=trisaEndpoint,proto3" json:"trisa_endpoint,omitempty"`
	// Business Information
	Website          string           `protobuf:"bytes,9,opt,name=website,proto3" json:"website,omitempty"`
	BusinessCategory BusinessCategory `` /* 158-byte string literal not displayed */
	VaspCategories   []string         `protobuf:"bytes,11,rep,name=vasp_categories,json=vaspCategories,proto3" json:"vasp_categories,omitempty"`
	EstablishedOn    string           `protobuf:"bytes,12,opt,name=established_on,json=establishedOn,proto3" json:"established_on,omitempty"` // Should be a date in YYYY-MM-DD format
	// TRIXO Questionnaire
	Trixo *TRIXOQuestionnaire `protobuf:"bytes,13,opt,name=trixo,proto3" json:"trixo,omitempty"`
	// Directory Service Metadata
	// Should not be populated by client code.
	VerificationStatus VerificationState ``                                                                                                /* 165-byte string literal not displayed */
	ServiceStatus      ServiceState      ``                                                                                                /* 145-byte string literal not displayed */
	VerifiedOn         string            `protobuf:"bytes,16,opt,name=verified_on,json=verifiedOn,proto3" json:"verified_on,omitempty"`    // Should be an RFC 3339 Timestamp
	FirstListed        string            `protobuf:"bytes,17,opt,name=first_listed,json=firstListed,proto3" json:"first_listed,omitempty"` // Should be an RFC 3339 Timestamp
	LastUpdated        string            `protobuf:"bytes,18,opt,name=last_updated,json=lastUpdated,proto3" json:"last_updated,omitempty"` // Should be an RFC 3339 Timestamp
	// The legal entity signature that is used to verify uniqueness or detect changes.
	// It is used primarily by the directory service because the hash of a VASP object
	// is not specified in the whitepaper.
	// Should not be populated by client code.
	Signature []byte `protobuf:"bytes,19,opt,name=signature,proto3" json:"signature,omitempty"`
	// Version is used for anti-entropy based replication. It is used primarily by the
	// directory service and is not specified in the TRISA whitepaper.
	// Should not be populated by client code.
	Version *Version `protobuf:"bytes,20,opt,name=version,proto3" json:"version,omitempty"`
	// Extra data that might be stored by the directory service related to the VASP.
	// Should not be populated by client code.
	Extra *anypb.Any `protobuf:"bytes,21,opt,name=extra,proto3" json:"extra,omitempty"`
	// Certificate delivery preferences which determine how the VASP will receive
	// issued certificates.
	CertificateWebhook string `protobuf:"bytes,22,opt,name=certificate_webhook,json=certificateWebhook,proto3" json:"certificate_webhook,omitempty"` // Webhook URL for delivering certificates
	NoEmailDelivery    bool   `protobuf:"varint,23,opt,name=no_email_delivery,json=noEmailDelivery,proto3" json:"no_email_delivery,omitempty"`       // If true, do not send certificates via email
	// contains filtered or unexported fields
}

VASP represents the top-level directory entry for certificate public key exchange. The TRISA Directory service allows search and lookup of VASP entries and returns TRISA implementation details and certificate key material. VASPs must be registered with IVMS 101 identity data for the business entity as well as natural person entities for technical, legal, billing, and administrative contacts.

A VASP entry is also the primary point of replication between directories that implement the directory replication service. It maintains the version information to detect changes with respect to a specific registered directory and faciliates anti-entropy gossip protocols.

func (*VASP) Descriptor deprecated

func (*VASP) Descriptor() ([]byte, []int)

Deprecated: Use VASP.ProtoReflect.Descriptor instead.

func (*VASP) GetBusinessCategory

func (x *VASP) GetBusinessCategory() BusinessCategory

func (*VASP) GetCertificateWebhook added in v0.4.1

func (x *VASP) GetCertificateWebhook() string

func (*VASP) GetCommonName

func (x *VASP) GetCommonName() string

func (*VASP) GetContacts

func (x *VASP) GetContacts() *Contacts

func (*VASP) GetEntity

func (x *VASP) GetEntity() *ivms101.LegalPerson

func (*VASP) GetEstablishedOn

func (x *VASP) GetEstablishedOn() string

func (*VASP) GetExtra added in v0.2.0

func (x *VASP) GetExtra() *anypb.Any

func (*VASP) GetFirstListed

func (x *VASP) GetFirstListed() string

func (*VASP) GetId

func (x *VASP) GetId() string

func (*VASP) GetIdentityCertificate

func (x *VASP) GetIdentityCertificate() *Certificate

func (*VASP) GetLastUpdated

func (x *VASP) GetLastUpdated() string

func (*VASP) GetNoEmailDelivery added in v0.4.1

func (x *VASP) GetNoEmailDelivery() bool

func (*VASP) GetRegisteredDirectory

func (x *VASP) GetRegisteredDirectory() string

func (*VASP) GetServiceStatus

func (x *VASP) GetServiceStatus() ServiceState

func (*VASP) GetSignature

func (x *VASP) GetSignature() []byte

func (*VASP) GetSigningCertificates

func (x *VASP) GetSigningCertificates() []*Certificate

func (*VASP) GetTrisaEndpoint

func (x *VASP) GetTrisaEndpoint() string

func (*VASP) GetTrixo

func (x *VASP) GetTrixo() *TRIXOQuestionnaire

func (*VASP) GetVaspCategories added in v0.2.0

func (x *VASP) GetVaspCategories() []string

func (*VASP) GetVerificationStatus

func (x *VASP) GetVerificationStatus() VerificationState

func (*VASP) GetVerifiedOn

func (x *VASP) GetVerifiedOn() string

func (*VASP) GetVersion

func (x *VASP) GetVersion() *Version

func (*VASP) GetWebsite

func (x *VASP) GetWebsite() string

func (*VASP) Name

func (v *VASP) Name() (string, error)

Name searches the IVMS 101 LegalPerson record for the best name to use to represent the VASP entity in text. The resolution order is trading name, short name, finally falling back on legal name. If there are more than one of each of these types of names then the first name is used. TODO: also search local names if locale is specified.

func (*VASP) ProtoMessage

func (*VASP) ProtoMessage()

func (*VASP) ProtoReflect

func (x *VASP) ProtoReflect() protoreflect.Message

func (*VASP) Reset

func (x *VASP) Reset()

func (*VASP) String

func (x *VASP) String() string

func (*VASP) Validate

func (v *VASP) Validate(partial bool) (err error)

Validate checks if the VASP record is complete with all required fields. If partial is specified, the validation checks the VASP record as though it hasn't been created.

type VerificationState

type VerificationState int32
const (
	VerificationState_NO_VERIFICATION     VerificationState = 0
	VerificationState_SUBMITTED           VerificationState = 1
	VerificationState_EMAIL_VERIFIED      VerificationState = 2
	VerificationState_PENDING_REVIEW      VerificationState = 3
	VerificationState_REVIEWED            VerificationState = 4
	VerificationState_ISSUING_CERTIFICATE VerificationState = 5
	VerificationState_VERIFIED            VerificationState = 6
	VerificationState_REJECTED            VerificationState = 7
	VerificationState_APPEALED            VerificationState = 8
	VerificationState_ERRORED             VerificationState = 9
)

func (VerificationState) Descriptor

func (VerificationState) Enum

func (VerificationState) EnumDescriptor deprecated

func (VerificationState) EnumDescriptor() ([]byte, []int)

Deprecated: Use VerificationState.Descriptor instead.

func (VerificationState) Number

func (VerificationState) String

func (x VerificationState) String() string

func (VerificationState) Type

type Version added in v0.2.0

type Version struct {
	Pid     uint64 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`         // Process ID - used to deconflict ties in the version number.
	Version uint64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` // Montonically increasing version number.
	// contains filtered or unexported fields
}

Implements a distributed version as a Lamport Scalar

func (*Version) Descriptor deprecated added in v0.2.0

func (*Version) Descriptor() ([]byte, []int)

Deprecated: Use Version.ProtoReflect.Descriptor instead.

func (*Version) GetPid added in v0.2.0

func (x *Version) GetPid() uint64

func (*Version) GetVersion added in v0.2.0

func (x *Version) GetVersion() uint64

func (*Version) ProtoMessage added in v0.2.0

func (*Version) ProtoMessage()

func (*Version) ProtoReflect added in v0.2.0

func (x *Version) ProtoReflect() protoreflect.Message

func (*Version) Reset added in v0.2.0

func (x *Version) Reset()

func (*Version) String added in v0.2.0

func (x *Version) String() string

Jump to

Keyboard shortcuts

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