@keetanetwork/anchor 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/certificates.d.ts +23 -9
- package/lib/certificates.d.ts.map +1 -1
- package/lib/certificates.generated.js +16 -1
- package/lib/certificates.generated.js.map +1 -1
- package/lib/certificates.js +74 -157
- package/lib/certificates.js.map +1 -1
- package/lib/resolver.js +40 -40
- package/lib/utils/asn1.d.ts +13 -0
- package/lib/utils/asn1.d.ts.map +1 -1
- package/lib/utils/asn1.js +1973 -0
- package/lib/utils/asn1.js.map +1 -1
- package/lib/utils/external.d.ts.map +1 -1
- package/lib/utils/external.js +2 -9
- package/lib/utils/external.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/services/asset-movement/common.d.ts +70 -46
- package/services/asset-movement/common.d.ts.map +1 -1
- package/services/asset-movement/common.js +1442 -708
- package/services/asset-movement/common.js.map +1 -1
- package/services/asset-movement/lib/location.d.ts +64 -0
- package/services/asset-movement/lib/location.d.ts.map +1 -0
- package/services/asset-movement/lib/location.generated.d.ts +4 -0
- package/services/asset-movement/lib/location.generated.d.ts.map +1 -0
- package/services/asset-movement/lib/location.generated.js +16 -0
- package/services/asset-movement/lib/location.generated.js.map +1 -0
- package/services/asset-movement/lib/location.js +155 -0
- package/services/asset-movement/lib/location.js.map +1 -0
- package/services/kyc/iso20022.generated.js +54 -54
- package/services/kyc/iso20022.generated.js.map +1 -1
- package/services/kyc/utils/generate-kyc-schema.js +6 -34
- package/services/kyc/utils/generate-kyc-schema.js.map +1 -1
|
@@ -32,8 +32,8 @@ export const GenericOrganizationIdentificationSchema = {
|
|
|
32
32
|
type: 'struct',
|
|
33
33
|
fieldNames: ['id', 'issuer', 'schemeName'],
|
|
34
34
|
contains: {
|
|
35
|
-
id: { type: '
|
|
36
|
-
issuer: { optional: { type: '
|
|
35
|
+
id: { type: 'string', kind: 'utf8' },
|
|
36
|
+
issuer: { optional: { type: 'string', kind: 'utf8' } },
|
|
37
37
|
schemeName: { optional: OrganizationIdentificationSchemeNameChoiceSchema }
|
|
38
38
|
}
|
|
39
39
|
};
|
|
@@ -42,8 +42,8 @@ export const GenericPersonIdentificationSchema = {
|
|
|
42
42
|
type: 'struct',
|
|
43
43
|
fieldNames: ['id', 'issuer', 'schemeName'],
|
|
44
44
|
contains: {
|
|
45
|
-
id: { type: '
|
|
46
|
-
issuer: { optional: { type: '
|
|
45
|
+
id: { type: 'string', kind: 'utf8' },
|
|
46
|
+
issuer: { optional: { type: 'string', kind: 'utf8' } },
|
|
47
47
|
schemeName: { optional: PersonIdentificationSchemeNameChoiceSchema }
|
|
48
48
|
}
|
|
49
49
|
};
|
|
@@ -52,8 +52,8 @@ export const OtherContactSchema = {
|
|
|
52
52
|
type: 'struct',
|
|
53
53
|
fieldNames: ['channelType', 'id'],
|
|
54
54
|
contains: {
|
|
55
|
-
channelType: { type: '
|
|
56
|
-
id: { optional: { type: '
|
|
55
|
+
channelType: { type: 'string', kind: 'utf8' },
|
|
56
|
+
id: { optional: { type: 'string', kind: 'utf8' } }
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
// Generated ASN.1 schemas for ISO 20022 sequence-of-choice types
|
|
@@ -115,16 +115,16 @@ export const AddressSchema = {
|
|
|
115
115
|
type: 'struct',
|
|
116
116
|
fieldNames: ['addressLines', 'addressType', 'buildingNumber', 'country', 'countrySubDivision', 'department', 'postalCode', 'streetName', 'subDepartment', 'townName'],
|
|
117
117
|
contains: {
|
|
118
|
-
addressLines: { optional: {
|
|
118
|
+
addressLines: { optional: { sequenceOf: { type: 'string', kind: 'utf8' } } },
|
|
119
119
|
addressType: { optional: AddressTypeSchema },
|
|
120
|
-
buildingNumber: { optional: { type: '
|
|
121
|
-
country: { optional: { type: '
|
|
122
|
-
countrySubDivision: { optional: { type: '
|
|
123
|
-
department: { optional: { type: '
|
|
124
|
-
postalCode: { optional: { type: '
|
|
125
|
-
streetName: { optional: { type: '
|
|
126
|
-
subDepartment: { optional: { type: '
|
|
127
|
-
townName: { optional: { type: '
|
|
120
|
+
buildingNumber: { optional: { type: 'string', kind: 'utf8' } },
|
|
121
|
+
country: { optional: { type: 'string', kind: 'utf8' } },
|
|
122
|
+
countrySubDivision: { optional: { type: 'string', kind: 'utf8' } },
|
|
123
|
+
department: { optional: { type: 'string', kind: 'utf8' } },
|
|
124
|
+
postalCode: { optional: { type: 'string', kind: 'utf8' } },
|
|
125
|
+
streetName: { optional: { type: 'string', kind: 'utf8' } },
|
|
126
|
+
subDepartment: { optional: { type: 'string', kind: 'utf8' } },
|
|
127
|
+
townName: { optional: { type: 'string', kind: 'utf8' } }
|
|
128
128
|
}
|
|
129
129
|
};
|
|
130
130
|
export const DateAndPlaceOfBirthFields = ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'];
|
|
@@ -132,10 +132,10 @@ export const DateAndPlaceOfBirthSchema = {
|
|
|
132
132
|
type: 'struct',
|
|
133
133
|
fieldNames: ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'],
|
|
134
134
|
contains: {
|
|
135
|
-
birthDate:
|
|
136
|
-
cityOfBirth: { type: '
|
|
137
|
-
countryOfBirth: { type: '
|
|
138
|
-
provinceOfBirth: { optional: { type: '
|
|
135
|
+
birthDate: ASN1.ValidateASN1.IsDate,
|
|
136
|
+
cityOfBirth: { type: 'string', kind: 'utf8' },
|
|
137
|
+
countryOfBirth: { type: 'string', kind: 'utf8' },
|
|
138
|
+
provinceOfBirth: { optional: { type: 'string', kind: 'utf8' } }
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
export const EntityTypeFields = ['organization', 'person'];
|
|
@@ -143,8 +143,8 @@ export const EntityTypeSchema = {
|
|
|
143
143
|
type: 'struct',
|
|
144
144
|
fieldNames: ['organization', 'person'],
|
|
145
145
|
contains: {
|
|
146
|
-
organization: { optional: {
|
|
147
|
-
person: { optional: {
|
|
146
|
+
organization: { optional: { sequenceOf: GenericOrganizationIdentificationSchema } },
|
|
147
|
+
person: { optional: { sequenceOf: GenericPersonIdentificationSchema } }
|
|
148
148
|
}
|
|
149
149
|
};
|
|
150
150
|
export const ContactDetailsFields = ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'];
|
|
@@ -152,18 +152,18 @@ export const ContactDetailsSchema = {
|
|
|
152
152
|
type: 'struct',
|
|
153
153
|
fieldNames: ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'],
|
|
154
154
|
contains: {
|
|
155
|
-
department: { optional: { type: '
|
|
156
|
-
emailAddress: { optional: { type: '
|
|
157
|
-
emailPurpose: { optional: { type: '
|
|
158
|
-
faxNumber: { optional: { type: '
|
|
159
|
-
fullName: { optional: { type: '
|
|
160
|
-
jobResponsibility: { optional: { type: '
|
|
161
|
-
jobTitle: { optional: { type: '
|
|
162
|
-
mobileNumber: { optional: { type: '
|
|
163
|
-
namePrefix: { optional: { type: '
|
|
164
|
-
other: { optional: {
|
|
165
|
-
phoneNumber: { optional: { type: '
|
|
166
|
-
preferredMethod: { optional: { type: '
|
|
155
|
+
department: { optional: { type: 'string', kind: 'utf8' } },
|
|
156
|
+
emailAddress: { optional: { type: 'string', kind: 'utf8' } },
|
|
157
|
+
emailPurpose: { optional: { type: 'string', kind: 'utf8' } },
|
|
158
|
+
faxNumber: { optional: { type: 'string', kind: 'utf8' } },
|
|
159
|
+
fullName: { optional: { type: 'string', kind: 'utf8' } },
|
|
160
|
+
jobResponsibility: { optional: { type: 'string', kind: 'utf8' } },
|
|
161
|
+
jobTitle: { optional: { type: 'string', kind: 'utf8' } },
|
|
162
|
+
mobileNumber: { optional: { type: 'string', kind: 'utf8' } },
|
|
163
|
+
namePrefix: { optional: { type: 'string', kind: 'utf8' } },
|
|
164
|
+
other: { optional: { sequenceOf: OtherContactSchema } },
|
|
165
|
+
phoneNumber: { optional: { type: 'string', kind: 'utf8' } },
|
|
166
|
+
preferredMethod: { optional: { type: 'string', kind: 'utf8' } }
|
|
167
167
|
}
|
|
168
168
|
};
|
|
169
169
|
export const DocumentFields = ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'];
|
|
@@ -171,27 +171,27 @@ export const DocumentSchema = {
|
|
|
171
171
|
type: 'struct',
|
|
172
172
|
fieldNames: ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'],
|
|
173
173
|
contains: {
|
|
174
|
-
documentNumber: { type: '
|
|
175
|
-
front: { optional:
|
|
176
|
-
back: { optional:
|
|
177
|
-
selfie: { optional:
|
|
178
|
-
fullName: { optional: { type: '
|
|
179
|
-
firstName: { optional: { type: '
|
|
180
|
-
lastName: { optional: { type: '
|
|
181
|
-
dob: { optional:
|
|
182
|
-
gender: { optional: { type: '
|
|
183
|
-
address: { optional:
|
|
184
|
-
expiresAt: { optional:
|
|
185
|
-
issuedAt: { optional:
|
|
186
|
-
issuingState: { optional: { type: '
|
|
187
|
-
issuingCountry: { optional: { type: '
|
|
188
|
-
refNumber: { optional: { type: '
|
|
189
|
-
nationality: { optional: { type: '
|
|
190
|
-
curp: { optional: { type: '
|
|
191
|
-
claveDeElector: { optional: { type: '
|
|
192
|
-
classifiedDocumentType: { optional: { type: '
|
|
193
|
-
curpValidationResponse: { optional: { type: '
|
|
194
|
-
sambaActivityHistoryResponse: { optional: { type: '
|
|
174
|
+
documentNumber: { type: 'string', kind: 'utf8' },
|
|
175
|
+
front: { optional: ReferenceSchema },
|
|
176
|
+
back: { optional: ReferenceSchema },
|
|
177
|
+
selfie: { optional: ReferenceSchema },
|
|
178
|
+
fullName: { optional: { type: 'string', kind: 'utf8' } },
|
|
179
|
+
firstName: { optional: { type: 'string', kind: 'utf8' } },
|
|
180
|
+
lastName: { optional: { type: 'string', kind: 'utf8' } },
|
|
181
|
+
dob: { optional: ASN1.ValidateASN1.IsDate },
|
|
182
|
+
gender: { optional: { type: 'string', kind: 'utf8' } },
|
|
183
|
+
address: { optional: AddressSchema },
|
|
184
|
+
expiresAt: { optional: ASN1.ValidateASN1.IsDate },
|
|
185
|
+
issuedAt: { optional: ASN1.ValidateASN1.IsDate },
|
|
186
|
+
issuingState: { optional: { type: 'string', kind: 'utf8' } },
|
|
187
|
+
issuingCountry: { optional: { type: 'string', kind: 'utf8' } },
|
|
188
|
+
refNumber: { optional: { type: 'string', kind: 'utf8' } },
|
|
189
|
+
nationality: { optional: { type: 'string', kind: 'utf8' } },
|
|
190
|
+
curp: { optional: { type: 'string', kind: 'utf8' } },
|
|
191
|
+
claveDeElector: { optional: { type: 'string', kind: 'utf8' } },
|
|
192
|
+
classifiedDocumentType: { optional: { type: 'string', kind: 'utf8' } },
|
|
193
|
+
curpValidationResponse: { optional: { type: 'string', kind: 'utf8' } },
|
|
194
|
+
sambaActivityHistoryResponse: { optional: { type: 'string', kind: 'utf8' } }
|
|
195
195
|
}
|
|
196
196
|
};
|
|
197
197
|
export const CertificateAttributeOIDDB = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iso20022.generated.js","sourceRoot":"","sources":["../../../src/services/kyc/iso20022.generated.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\n/**\n * Generated ISO20022 Type Definitions\n * This file is auto-generated from oids.json.\n */\n\nimport * as ASN1 from '../../lib/utils/asn1.js';\nimport { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\ntype KeetaNetAccount = InstanceType<typeof KeetaNetLib.Account>;\n\n// ISO20022 Primitive Types\n/** Country code or name */\n/** OID: 1.3.6.1.4.1.62675.1.2.0 */\nexport type Country = string;\n\n/** Country subdivision (state/province) */\n/** OID: 1.3.6.1.4.1.62675.1.2.1 */\nexport type CountrySubDivision = string;\n\n/** Postal code */\n/** OID: 1.3.6.1.4.1.62675.1.2.3 */\nexport type PostalCode = string;\n\n/** Town or city name */\n/** OID: 1.3.6.1.4.1.62675.1.2.4 */\nexport type TownName = string;\n\n/** Building number */\n/** OID: 1.3.6.1.4.1.62675.1.2.5 */\nexport type BuildingNumber = string;\n\n/** Street name */\n/** OID: 1.3.6.1.4.1.62675.1.2.6 */\nexport type StreetName = string;\n\n/** Free-form address lines */\n/** OID: 1.3.6.1.4.1.62675.1.2.7 */\nexport type AddressLines = string[];\n\n/** Sub-department */\n/** OID: 1.3.6.1.4.1.62675.1.2.8 */\nexport type SubDepartment = string;\n\n/** Department */\n/** OID: 1.3.6.1.4.1.62675.1.2.9 */\nexport type Department = string;\n\n/** Purpose of email address */\n/** OID: 1.3.6.1.4.1.62675.1.3.0 */\nexport type EmailAddressPurpose = string;\n\n// ISO20022 Enumeration Types\n/** Name prefix code */\n/** OID: 1.3.6.1.4.1.62675.1.0.0 */\nexport type NamePrefixCode = 'DOCT' | 'MIST' | 'MISS' | 'MIKS' | 'MME';\n\n/** Preferred contact method */\n/** OID: 1.3.6.1.4.1.62675.1.9.0 */\nexport type PreferredContactMethodCode = 'LETT' | 'MAIL' | 'PHON' | 'FAXX' | 'CELL';\n\n/** Person identification scheme name proprietary values */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.1.0 */\nexport type PersonIdentificationSchemeNameProprietary = 'DRLC' | 'CPPT' | 'ARNU' | 'SSN' | 'TXID' | 'VISA' | 'WPPT';\n\n// ISO20022 Choice Types\n/** Address type classification */\n/** OID: 1.3.6.1.4.1.62675.1.2.10 */\nexport type AddressType = string;\n\n/** Organization identification scheme name */\n/** OID: 1.3.6.1.4.1.62675.1.8.0.2 */\nexport type OrganizationIdentificationSchemeNameChoice = string;\n\n/** Person identification scheme name */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.1 */\nexport type PersonIdentificationSchemeNameChoice = string | PersonIdentificationSchemeNameProprietary;\n\n// ISO20022 Sequence Types\n/** Generic organization identification */\n/** OID: 1.3.6.1.4.1.62675.1.8.0.1 */\nexport interface GenericOrganizationIdentification {\n\tid: Id;\n\tschemeName?: OrganizationIdentificationSchemeNameChoice;\n\tissuer?: Issuer;\n}\n\nexport interface OrganizationIdentificationBicChoice {\n\ttag: 0;\n\tname: 'bic';\n\tvalue: string;\n}\n\nexport interface OrganizationIdentificationLeiChoice {\n\ttag: 1;\n\tname: 'lei';\n\tvalue: string;\n}\n\nexport interface OrganizationIdentificationOtherChoice {\n\ttag: 2;\n\tname: 'other';\n\tvalue: GenericOrganizationIdentification[];\n}\nexport type OrganizationIdentificationChoice =\n\t| OrganizationIdentificationBicChoice\n\t| OrganizationIdentificationLeiChoice\n\t| OrganizationIdentificationOtherChoice;\n\nexport type OrganizationIdentification = OrganizationIdentificationChoice[];\n\n\n/** Generic person identification */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.0 */\nexport interface GenericPersonIdentification {\n\tid: Id;\n\tschemeName?: PersonIdentificationSchemeNameChoice;\n\tissuer?: Issuer;\n}\n\nexport interface PersonIdentificationDateAndPlaceOfBirthChoice {\n\ttag: 0;\n\tname: 'dateAndPlaceOfBirth';\n\tvalue: DateAndPlaceOfBirth;\n}\n\nexport interface PersonIdentificationOtherChoice {\n\ttag: 1;\n\tname: 'other';\n\tvalue: GenericPersonIdentification[];\n}\nexport type PersonIdentificationChoice =\n\t| PersonIdentificationDateAndPlaceOfBirthChoice\n\t| PersonIdentificationOtherChoice;\n\nexport type PersonIdentification = PersonIdentificationChoice[];\n\n\n/** Other contact method */\n/** OID: 1.3.6.1.4.1.62675.1.9.1 */\nexport interface OtherContact {\n\tid?: Id;\n\tchannelType: string;\n}\n\n\n// Generated ASN.1 schemas for ISO 20022 choice types\n/** ASN.1 schema for AddressType */\nexport const AddressTypeSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n/** ASN.1 schema for OrganizationIdentificationSchemeNameChoice */\nexport const OrganizationIdentificationSchemeNameChoiceSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n/** ASN.1 schema for PersonIdentificationSchemeNameChoice */\nexport const PersonIdentificationSchemeNameChoiceSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n// Generated ASN.1 schemas for ISO 20022 regular sequence types\n/** ASN.1 schema for GenericOrganizationIdentification */\nexport const GenericOrganizationIdentificationSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['id', 'issuer', 'schemeName'],\n\tcontains: {\n\t\tid: { type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\tissuer: { optional: { type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } } },\n\t\tschemeName: { optional: OrganizationIdentificationSchemeNameChoiceSchema }\n\t}\n};\n\n/** ASN.1 schema for GenericPersonIdentification */\nexport const GenericPersonIdentificationSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['id', 'issuer', 'schemeName'],\n\tcontains: {\n\t\tid: { type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\tissuer: { optional: { type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } } },\n\t\tschemeName: { optional: PersonIdentificationSchemeNameChoiceSchema }\n\t}\n};\n\n/** ASN.1 schema for OtherContact */\nexport const OtherContactSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['channelType', 'id'],\n\tcontains: {\n\t\tchannelType: { type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\tid: { optional: { type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } } }\n\t}\n};\n\n// Generated ASN.1 schemas for ISO 20022 sequence-of-choice types\n/** ASN.1 schema for OrganizationIdentification */\nexport const OrganizationIdentificationSchema: ASN1.Schema = {\n\tsequenceOf: {\n\t\tchoice: [\n\t\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 2, contains: GenericOrganizationIdentificationSchema }\n\t\t]\n\t}\n};\n\nexport const OrganizationIdentificationFields = [\n\t'bic',\n\t'lei',\n\t'other'\n] as const;\n\n\n/** ASN.1 schema for PersonIdentification */\nexport const PersonIdentificationSchema: ASN1.Schema = {\n\tsequenceOf: {\n\t\tchoice: [\n\t\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 1, contains: GenericPersonIdentificationSchema }\n\t\t]\n\t}\n};\n\nexport const PersonIdentificationFields = [\n\t'dateAndPlaceOfBirth',\n\t'other'\n] as const;\n\n\n// Generated ASN.1 schemas for choice-type sensitive attributes\n/** Person's full name */\n/** OID: 1.3.6.1.4.1.62675.1.0 */\nexport type FullName = string;\n\n/** Person's first name */\n/** OID: 1.3.6.1.4.1.62675.1.0.1 */\nexport type FirstName = string;\n\n/** Person's last name */\n/** OID: 1.3.6.1.4.1.62675.1.0.2 */\nexport type LastName = string;\n\n/** Person's middle name */\n/** OID: 1.3.6.1.4.1.62675.1.0.3 */\nexport type MiddleName = string;\n\n/** Date of birth */\n/** OID: 1.3.6.1.4.1.62675.1.1 */\nexport type DateOfBirth = Date;\n\n/** Physical address */\n/** OID: 1.3.6.1.4.1.62675.1.2 */\nexport interface Address {\n\taddressType?: AddressType;\n\tdepartment?: Department;\n\tsubDepartment?: SubDepartment;\n\tstreetName?: StreetName;\n\tbuildingNumber?: BuildingNumber;\n\tpostalCode?: PostalCode;\n\ttownName?: TownName;\n\tcountrySubDivision?: CountrySubDivision;\n\tcountry?: Country;\n\taddressLines?: AddressLines;\n}\n\n/** Email address */\n/** OID: 1.3.6.1.4.1.62675.1.3 */\nexport type Email = string;\n\n/** Phone number */\n/** OID: 1.3.6.1.4.1.62675.1.4 */\nexport type PhoneNumber = string;\n\n/** Date and place of birth information */\n/** OID: 1.3.6.1.4.1.62675.1.5 */\nexport interface DateAndPlaceOfBirth {\n\tbirthDate: BirthDate;\n\tprovinceOfBirth?: CountrySubDivision;\n\tcityOfBirth: TownName;\n\tcountryOfBirth: Country;\n}\n\n/** Job title */\n/** OID: 1.3.6.1.4.1.62675.1.6 */\nexport type JobTitle = string;\n\n/** Job responsibility */\n/** OID: 1.3.6.1.4.1.62675.1.6.1 */\nexport type JobResponsibility = string;\n\n/** Identifier */\n/** OID: 1.3.6.1.4.1.62675.1.7 */\nexport type Id = string;\n\n/** Issuer identifier */\n/** OID: 1.3.6.1.4.1.62675.1.7.1 */\nexport type Issuer = string;\n\n/** Entity type (organization or person) */\n/** OID: 1.3.6.1.4.1.62675.1.8 */\nexport interface EntityType {\n\torganization?: GenericOrganizationIdentification[];\n\tperson?: GenericPersonIdentification[];\n}\n\n/** Contact details */\n/** OID: 1.3.6.1.4.1.62675.1.9 */\nexport interface ContactDetails {\n\tnamePrefix?: NamePrefixCode;\n\tfullName?: FullName;\n\tphoneNumber?: PhoneNumber;\n\tmobileNumber?: PhoneNumber;\n\tfaxNumber?: PhoneNumber;\n\temailAddress?: EmailAddress;\n\temailPurpose?: EmailAddressPurpose;\n\tjobTitle?: JobTitle;\n\tjobResponsibility?: JobResponsibility;\n\tdepartment?: Department;\n\tother?: OtherContact[];\n\tpreferredMethod?: PreferredContactMethodCode;\n}\n\n/** Nationality */\n/** OID: 1.3.6.1.4.1.62675.1.10 */\nexport type Nationality = string;\n\n/** Generic document structure with metadata */\n/** OID: 1.3.6.1.4.1.62675.1.11 */\nexport interface Document {\n\tdocumentNumber: string;\n\tfront?: Reference;\n\tback?: Reference;\n\tselfie?: Reference;\n\tfullName?: string;\n\tfirstName?: string;\n\tlastName?: string;\n\tdob?: Date;\n\tgender?: string;\n\taddress?: Address;\n\texpiresAt?: Date;\n\tissuedAt?: Date;\n\tissuingState?: string;\n\tissuingCountry?: string;\n\trefNumber?: string;\n\tnationality?: string;\n\tcurp?: string;\n\tclaveDeElector?: string;\n\tclassifiedDocumentType?: string;\n\tcurpValidationResponse?: string;\n\tsambaActivityHistoryResponse?: string;\n}\n\n/** Driver's license document */\n/** OID: 1.3.6.1.4.1.62675.1.11.0 */\nexport type DocumentDriversLicense = Document;\n\n/** ID card document */\n/** OID: 1.3.6.1.4.1.62675.1.11.1 */\nexport type DocumentIdCard = Document;\n\n/** Passport document */\n/** OID: 1.3.6.1.4.1.62675.1.11.2 */\nexport type DocumentPassport = Document;\n\n/** Passport card document */\n/** OID: 1.3.6.1.4.1.62675.1.11.3 */\nexport type DocumentPassportCard = Document;\n\n/** Permit document */\n/** OID: 1.3.6.1.4.1.62675.1.11.4 */\nexport type DocumentPermit = Document;\n\n/** Visa document */\n/** OID: 1.3.6.1.4.1.62675.1.11.5 */\nexport type DocumentVisa = Document;\n\n/** Residence document */\n/** OID: 1.3.6.1.4.1.62675.1.11.6 */\nexport type DocumentResidenceDocument = Document;\n\n/** DigestInfo from RFC 3447 */\nexport interface DigestInfo {\n\tdigestAlgorithm: ASN1.ASN1OID;\n\tdigest: Buffer;\n}\n\nexport const DigestInfoSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['digestAlgorithm', 'digest'],\n\tcontains: {\n\t\tdigestAlgorithm: ASN1.ValidateASN1.IsOID,\n\t\tdigest: ASN1.ValidateASN1.IsOctetString\n\t}\n};\n\n/** External reference pointer */\nexport interface ExternalReference {\n\turl: string;\n\tcontentType: string;\n}\n\nexport const ExternalReferenceSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['url', 'contentType'],\n\tcontains: {\n\t\turl: { type: 'string', kind: 'utf8' },\n\t\tcontentType: { type: 'string', kind: 'utf8' }\n\t}\n};\n\n/** Reference */\nexport interface Reference {\n\texternal: ExternalReference;\n\tdigest: DigestInfo;\n\tencryptionAlgorithm: ASN1.ASN1OID;\n\t/**\n\t * TODOC\n\t */\n\t$blob: (principals?: KeetaNetAccount[]) => Promise<Blob>;\n}\n\nexport const ReferenceSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['external', 'digest', 'encryptionAlgorithm'],\n\tcontains: {\n\t\texternal: ExternalReferenceSchema,\n\t\tdigest: DigestInfoSchema,\n\t\tencryptionAlgorithm: ASN1.ValidateASN1.IsOID\n\t}\n};\n\n// Token aliases for sensitive attributes\n/** Alias for DateOfBirth */\nexport type BirthDate = DateOfBirth;\n\n/** Alias for Email */\nexport type EmailAddress = Email;\n\n/** Union type of all sensitive attribute types */\nexport type SensitiveAttributeType =\n\t| FullName\n\t| FirstName\n\t| LastName\n\t| MiddleName\n\t| DateOfBirth\n\t| Address\n\t| Email\n\t| PhoneNumber\n\t| DateAndPlaceOfBirth\n\t| JobTitle\n\t| JobResponsibility\n\t| Id\n\t| Issuer\n\t| EntityType\n\t| ContactDetails\n\t| Nationality\n\t| Document\n\t| DocumentDriversLicense\n\t| DocumentIdCard\n\t| DocumentPassport\n\t| DocumentPassportCard\n\t| DocumentPermit\n\t| DocumentVisa\n\t| DocumentResidenceDocument;\n\n/** Map of attribute name to acceptable input type for CertificateBuilder.setAttribute */\nexport interface CertificateAttributeValueMap {\n\t'fullName': FullName;\n\t'firstName': FirstName;\n\t'lastName': LastName;\n\t'middleName': MiddleName;\n\t'dateOfBirth': DateOfBirth;\n\t'address': Address;\n\t'email': Email;\n\t'phoneNumber': PhoneNumber;\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirth;\n\t'jobTitle': JobTitle;\n\t'jobResponsibility': JobResponsibility;\n\t'id': Id;\n\t'issuer': Issuer;\n\t'entityType': EntityType;\n\t'contactDetails': ContactDetails;\n\t'nationality': Nationality;\n\t'document': Document;\n\t'documentDriversLicense': DocumentDriversLicense;\n\t'documentIdCard': DocumentIdCard;\n\t'documentPassport': DocumentPassport;\n\t'documentPassportCard': DocumentPassportCard;\n\t'documentPermit': DocumentPermit;\n\t'documentVisa': DocumentVisa;\n\t'documentResidenceDocument': DocumentResidenceDocument;\n}\n\n/** Helper generic to get attribute value type by name */\nexport type CertificateAttributeValue<Name extends keyof CertificateAttributeValueMap> = CertificateAttributeValueMap[Name];\n\nexport const AddressFields = ['addressLines', 'addressType', 'buildingNumber', 'country', 'countrySubDivision', 'department', 'postalCode', 'streetName', 'subDepartment', 'townName'] as const;\nexport const AddressSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['addressLines', 'addressType', 'buildingNumber', 'country', 'countrySubDivision', 'department', 'postalCode', 'streetName', 'subDepartment', 'townName'],\n\tcontains: {\n\t\taddressLines: { optional: { type: 'context', kind: 'explicit', value: 0, contains: { sequenceOf: { type: 'string', kind: 'utf8' } } } },\n\t\taddressType: { optional: AddressTypeSchema },\n\t\tbuildingNumber: { optional: { type: 'context', kind: 'explicit', value: 2, contains: { type: 'string', kind: 'utf8' } } },\n\t\tcountry: { optional: { type: 'context', kind: 'explicit', value: 3, contains: { type: 'string', kind: 'utf8' } } },\n\t\tcountrySubDivision: { optional: { type: 'context', kind: 'explicit', value: 4, contains: { type: 'string', kind: 'utf8' } } },\n\t\tdepartment: { optional: { type: 'context', kind: 'explicit', value: 5, contains: { type: 'string', kind: 'utf8' } } },\n\t\tpostalCode: { optional: { type: 'context', kind: 'explicit', value: 6, contains: { type: 'string', kind: 'utf8' } } },\n\t\tstreetName: { optional: { type: 'context', kind: 'explicit', value: 7, contains: { type: 'string', kind: 'utf8' } } },\n\t\tsubDepartment: { optional: { type: 'context', kind: 'explicit', value: 8, contains: { type: 'string', kind: 'utf8' } } },\n\t\ttownName: { optional: { type: 'context', kind: 'explicit', value: 9, contains: { type: 'string', kind: 'utf8' } } }\n\t}\n};\nexport const DateAndPlaceOfBirthFields = ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'] as const;\nexport const DateAndPlaceOfBirthSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'],\n\tcontains: {\n\t\tbirthDate: { type: 'context', kind: 'explicit', value: 0, contains: ASN1.ValidateASN1.IsDate },\n\t\tcityOfBirth: { type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } },\n\t\tcountryOfBirth: { type: 'context', kind: 'explicit', value: 2, contains: { type: 'string', kind: 'utf8' } },\n\t\tprovinceOfBirth: { optional: { type: 'context', kind: 'explicit', value: 3, contains: { type: 'string', kind: 'utf8' } } }\n\t}\n};\nexport const EntityTypeFields = ['organization', 'person'] as const;\nexport const EntityTypeSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['organization', 'person'],\n\tcontains: {\n\t\torganization: { optional: { type: 'context', kind: 'explicit', value: 0, contains: { sequenceOf: GenericOrganizationIdentificationSchema } } },\n\t\tperson: { optional: { type: 'context', kind: 'explicit', value: 1, contains: { sequenceOf: GenericPersonIdentificationSchema } } }\n\t}\n};\nexport const ContactDetailsFields = ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'] as const;\nexport const ContactDetailsSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'],\n\tcontains: {\n\t\tdepartment: { optional: { type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } } },\n\t\temailAddress: { optional: { type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } } },\n\t\temailPurpose: { optional: { type: 'context', kind: 'explicit', value: 2, contains: { type: 'string', kind: 'utf8' } } },\n\t\tfaxNumber: { optional: { type: 'context', kind: 'explicit', value: 3, contains: { type: 'string', kind: 'utf8' } } },\n\t\tfullName: { optional: { type: 'context', kind: 'explicit', value: 4, contains: { type: 'string', kind: 'utf8' } } },\n\t\tjobResponsibility: { optional: { type: 'context', kind: 'explicit', value: 5, contains: { type: 'string', kind: 'utf8' } } },\n\t\tjobTitle: { optional: { type: 'context', kind: 'explicit', value: 6, contains: { type: 'string', kind: 'utf8' } } },\n\t\tmobileNumber: { optional: { type: 'context', kind: 'explicit', value: 7, contains: { type: 'string', kind: 'utf8' } } },\n\t\tnamePrefix: { optional: { type: 'context', kind: 'explicit', value: 8, contains: { type: 'string', kind: 'utf8' } } },\n\t\tother: { optional: { type: 'context', kind: 'explicit', value: 9, contains: { sequenceOf: OtherContactSchema } } },\n\t\tphoneNumber: { optional: { type: 'context', kind: 'explicit', value: 10, contains: { type: 'string', kind: 'utf8' } } },\n\t\tpreferredMethod: { optional: { type: 'context', kind: 'explicit', value: 11, contains: { type: 'string', kind: 'utf8' } } }\n\t}\n};\nexport const DocumentFields = ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'] as const;\nexport const DocumentSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'],\n\tcontains: {\n\t\tdocumentNumber: { type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\tfront: { optional: { type: 'context', kind: 'explicit', value: 1, contains: ReferenceSchema } },\n\t\tback: { optional: { type: 'context', kind: 'explicit', value: 2, contains: ReferenceSchema } },\n\t\tselfie: { optional: { type: 'context', kind: 'explicit', value: 3, contains: ReferenceSchema } },\n\t\tfullName: { optional: { type: 'context', kind: 'explicit', value: 4, contains: { type: 'string', kind: 'utf8' } } },\n\t\tfirstName: { optional: { type: 'context', kind: 'explicit', value: 5, contains: { type: 'string', kind: 'utf8' } } },\n\t\tlastName: { optional: { type: 'context', kind: 'explicit', value: 6, contains: { type: 'string', kind: 'utf8' } } },\n\t\tdob: { optional: { type: 'context', kind: 'explicit', value: 7, contains: ASN1.ValidateASN1.IsDate } },\n\t\tgender: { optional: { type: 'context', kind: 'explicit', value: 8, contains: { type: 'string', kind: 'utf8' } } },\n\t\taddress: { optional: { type: 'context', kind: 'explicit', value: 9, contains: AddressSchema } },\n\t\texpiresAt: { optional: { type: 'context', kind: 'explicit', value: 10, contains: ASN1.ValidateASN1.IsDate } },\n\t\tissuedAt: { optional: { type: 'context', kind: 'explicit', value: 11, contains: ASN1.ValidateASN1.IsDate } },\n\t\tissuingState: { optional: { type: 'context', kind: 'explicit', value: 12, contains: { type: 'string', kind: 'utf8' } } },\n\t\tissuingCountry: { optional: { type: 'context', kind: 'explicit', value: 13, contains: { type: 'string', kind: 'utf8' } } },\n\t\trefNumber: { optional: { type: 'context', kind: 'explicit', value: 14, contains: { type: 'string', kind: 'utf8' } } },\n\t\tnationality: { optional: { type: 'context', kind: 'explicit', value: 15, contains: { type: 'string', kind: 'utf8' } } },\n\t\tcurp: { optional: { type: 'context', kind: 'explicit', value: 16, contains: { type: 'string', kind: 'utf8' } } },\n\t\tclaveDeElector: { optional: { type: 'context', kind: 'explicit', value: 17, contains: { type: 'string', kind: 'utf8' } } },\n\t\tclassifiedDocumentType: { optional: { type: 'context', kind: 'explicit', value: 18, contains: { type: 'string', kind: 'utf8' } } },\n\t\tcurpValidationResponse: { optional: { type: 'context', kind: 'explicit', value: 19, contains: { type: 'string', kind: 'utf8' } } },\n\t\tsambaActivityHistoryResponse: { optional: { type: 'context', kind: 'explicit', value: 20, contains: { type: 'string', kind: 'utf8' } } }\n\t}\n};\nexport const CertificateAttributeOIDDB = {\n\t'fullName': '1.3.6.1.4.1.62675.1.0',\n\t'firstName': '1.3.6.1.4.1.62675.1.0.1',\n\t'lastName': '1.3.6.1.4.1.62675.1.0.2',\n\t'middleName': '1.3.6.1.4.1.62675.1.0.3',\n\t'dateOfBirth': '1.3.6.1.4.1.62675.1.1',\n\t'address': '1.3.6.1.4.1.62675.1.2',\n\t'email': '1.3.6.1.4.1.62675.1.3',\n\t'phoneNumber': '1.3.6.1.4.1.62675.1.4',\n\t'dateAndPlaceOfBirth': '1.3.6.1.4.1.62675.1.5',\n\t'jobTitle': '1.3.6.1.4.1.62675.1.6',\n\t'jobResponsibility': '1.3.6.1.4.1.62675.1.6.1',\n\t'id': '1.3.6.1.4.1.62675.1.7',\n\t'issuer': '1.3.6.1.4.1.62675.1.7.1',\n\t'entityType': '1.3.6.1.4.1.62675.1.8',\n\t'contactDetails': '1.3.6.1.4.1.62675.1.9',\n\t'nationality': '1.3.6.1.4.1.62675.1.10',\n\t'document': '1.3.6.1.4.1.62675.1.11',\n\t'documentDriversLicense': '1.3.6.1.4.1.62675.1.11.0',\n\t'documentIdCard': '1.3.6.1.4.1.62675.1.11.1',\n\t'documentPassport': '1.3.6.1.4.1.62675.1.11.2',\n\t'documentPassportCard': '1.3.6.1.4.1.62675.1.11.3',\n\t'documentPermit': '1.3.6.1.4.1.62675.1.11.4',\n\t'documentVisa': '1.3.6.1.4.1.62675.1.11.5',\n\t'documentResidenceDocument': '1.3.6.1.4.1.62675.1.11.6'\n} as const;\n\nexport const SENSITIVE_CERTIFICATE_ATTRIBUTES = [\n\t'fullName',\n\t'firstName',\n\t'lastName',\n\t'middleName',\n\t'dateOfBirth',\n\t'address',\n\t'email',\n\t'phoneNumber',\n\t'dateAndPlaceOfBirth',\n\t'jobTitle',\n\t'jobResponsibility',\n\t'id',\n\t'issuer',\n\t'entityType',\n\t'contactDetails',\n\t'nationality',\n\t'document',\n\t'documentDriversLicense',\n\t'documentIdCard',\n\t'documentPassport',\n\t'documentPassportCard',\n\t'documentPermit',\n\t'documentVisa',\n\t'documentResidenceDocument'\n] as const;\n\nexport type SensitiveCertificateAttributeNames = typeof SENSITIVE_CERTIFICATE_ATTRIBUTES[number];\n\nexport const SensitiveCertificateAttributeNames = [\n\t'FullName',\n\t'FirstName',\n\t'LastName',\n\t'MiddleName',\n\t'DateOfBirth',\n\t'Address',\n\t'Email',\n\t'PhoneNumber',\n\t'DateAndPlaceOfBirth',\n\t'JobTitle',\n\t'JobResponsibility',\n\t'Id',\n\t'Issuer',\n\t'EntityType',\n\t'ContactDetails',\n\t'Nationality',\n\t'Document',\n\t'DocumentDriversLicense',\n\t'DocumentIdCard',\n\t'DocumentPassport',\n\t'DocumentPassportCard',\n\t'DocumentPermit',\n\t'DocumentVisa',\n\t'DocumentResidenceDocument'\n] as const;\n\nexport const CertificateAttributeFieldNames: { readonly [K in keyof typeof CertificateAttributeOIDDB]?: readonly string[] } = {\n\t'address': AddressFields,\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirthFields,\n\t'entityType': EntityTypeFields,\n\t'contactDetails': ContactDetailsFields,\n\t'document': DocumentFields\n} as const;\n\nexport const CertificateAttributeSchema: { readonly [K in keyof typeof CertificateAttributeOIDDB]: ASN1.Schema } = {\n\t'fullName': { type: 'string', kind: 'utf8' },\n\t'firstName': { type: 'string', kind: 'utf8' },\n\t'lastName': { type: 'string', kind: 'utf8' },\n\t'middleName': { type: 'string', kind: 'utf8' },\n\t'dateOfBirth': ASN1.ValidateASN1.IsDate,\n\t'address': AddressSchema,\n\t'email': { type: 'string', kind: 'utf8' },\n\t'phoneNumber': { type: 'string', kind: 'utf8' },\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirthSchema,\n\t'jobTitle': { type: 'string', kind: 'utf8' },\n\t'jobResponsibility': { type: 'string', kind: 'utf8' },\n\t'id': { type: 'string', kind: 'utf8' },\n\t'issuer': { type: 'string', kind: 'utf8' },\n\t'entityType': EntityTypeSchema,\n\t'contactDetails': ContactDetailsSchema,\n\t'nationality': { type: 'string', kind: 'utf8' },\n\t'document': DocumentSchema,\n\t'documentDriversLicense': DocumentSchema,\n\t'documentIdCard': DocumentSchema,\n\t'documentPassport': DocumentSchema,\n\t'documentPassportCard': DocumentSchema,\n\t'documentPermit': DocumentSchema,\n\t'documentVisa': DocumentSchema,\n\t'documentResidenceDocument': DocumentSchema\n} as const;\n"]}
|
|
1
|
+
{"version":3,"file":"iso20022.generated.js","sourceRoot":"","sources":["../../../src/services/kyc/iso20022.generated.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable */\n/**\n * Generated ISO20022 Type Definitions\n * This file is auto-generated from oids.json.\n */\n\nimport * as ASN1 from '../../lib/utils/asn1.js';\nimport { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\ntype KeetaNetAccount = InstanceType<typeof KeetaNetLib.Account>;\n\n// ISO20022 Primitive Types\n/** Country code or name */\n/** OID: 1.3.6.1.4.1.62675.1.2.0 */\nexport type Country = string;\n\n/** Country subdivision (state/province) */\n/** OID: 1.3.6.1.4.1.62675.1.2.1 */\nexport type CountrySubDivision = string;\n\n/** Postal code */\n/** OID: 1.3.6.1.4.1.62675.1.2.3 */\nexport type PostalCode = string;\n\n/** Town or city name */\n/** OID: 1.3.6.1.4.1.62675.1.2.4 */\nexport type TownName = string;\n\n/** Building number */\n/** OID: 1.3.6.1.4.1.62675.1.2.5 */\nexport type BuildingNumber = string;\n\n/** Street name */\n/** OID: 1.3.6.1.4.1.62675.1.2.6 */\nexport type StreetName = string;\n\n/** Free-form address lines */\n/** OID: 1.3.6.1.4.1.62675.1.2.7 */\nexport type AddressLines = string[];\n\n/** Sub-department */\n/** OID: 1.3.6.1.4.1.62675.1.2.8 */\nexport type SubDepartment = string;\n\n/** Department */\n/** OID: 1.3.6.1.4.1.62675.1.2.9 */\nexport type Department = string;\n\n/** Purpose of email address */\n/** OID: 1.3.6.1.4.1.62675.1.3.0 */\nexport type EmailAddressPurpose = string;\n\n// ISO20022 Enumeration Types\n/** Name prefix code */\n/** OID: 1.3.6.1.4.1.62675.1.0.0 */\nexport type NamePrefixCode = 'DOCT' | 'MIST' | 'MISS' | 'MIKS' | 'MME';\n\n/** Preferred contact method */\n/** OID: 1.3.6.1.4.1.62675.1.9.0 */\nexport type PreferredContactMethodCode = 'LETT' | 'MAIL' | 'PHON' | 'FAXX' | 'CELL';\n\n/** Person identification scheme name proprietary values */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.1.0 */\nexport type PersonIdentificationSchemeNameProprietary = 'DRLC' | 'CPPT' | 'ARNU' | 'SSN' | 'TXID' | 'VISA' | 'WPPT';\n\n// ISO20022 Choice Types\n/** Address type classification */\n/** OID: 1.3.6.1.4.1.62675.1.2.10 */\nexport type AddressType = string;\n\n/** Organization identification scheme name */\n/** OID: 1.3.6.1.4.1.62675.1.8.0.2 */\nexport type OrganizationIdentificationSchemeNameChoice = string;\n\n/** Person identification scheme name */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.1 */\nexport type PersonIdentificationSchemeNameChoice = string | PersonIdentificationSchemeNameProprietary;\n\n// ISO20022 Sequence Types\n/** Generic organization identification */\n/** OID: 1.3.6.1.4.1.62675.1.8.0.1 */\nexport interface GenericOrganizationIdentification {\n\tid: Id;\n\tschemeName?: OrganizationIdentificationSchemeNameChoice;\n\tissuer?: Issuer;\n}\n\nexport interface OrganizationIdentificationBicChoice {\n\ttag: 0;\n\tname: 'bic';\n\tvalue: string;\n}\n\nexport interface OrganizationIdentificationLeiChoice {\n\ttag: 1;\n\tname: 'lei';\n\tvalue: string;\n}\n\nexport interface OrganizationIdentificationOtherChoice {\n\ttag: 2;\n\tname: 'other';\n\tvalue: GenericOrganizationIdentification[];\n}\nexport type OrganizationIdentificationChoice =\n\t| OrganizationIdentificationBicChoice\n\t| OrganizationIdentificationLeiChoice\n\t| OrganizationIdentificationOtherChoice;\n\nexport type OrganizationIdentification = OrganizationIdentificationChoice[];\n\n\n/** Generic person identification */\n/** OID: 1.3.6.1.4.1.62675.1.8.1.0 */\nexport interface GenericPersonIdentification {\n\tid: Id;\n\tschemeName?: PersonIdentificationSchemeNameChoice;\n\tissuer?: Issuer;\n}\n\nexport interface PersonIdentificationDateAndPlaceOfBirthChoice {\n\ttag: 0;\n\tname: 'dateAndPlaceOfBirth';\n\tvalue: DateAndPlaceOfBirth;\n}\n\nexport interface PersonIdentificationOtherChoice {\n\ttag: 1;\n\tname: 'other';\n\tvalue: GenericPersonIdentification[];\n}\nexport type PersonIdentificationChoice =\n\t| PersonIdentificationDateAndPlaceOfBirthChoice\n\t| PersonIdentificationOtherChoice;\n\nexport type PersonIdentification = PersonIdentificationChoice[];\n\n\n/** Other contact method */\n/** OID: 1.3.6.1.4.1.62675.1.9.1 */\nexport interface OtherContact {\n\tid?: Id;\n\tchannelType: string;\n}\n\n\n// Generated ASN.1 schemas for ISO 20022 choice types\n/** ASN.1 schema for AddressType */\nexport const AddressTypeSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n/** ASN.1 schema for OrganizationIdentificationSchemeNameChoice */\nexport const OrganizationIdentificationSchemeNameChoiceSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n/** ASN.1 schema for PersonIdentificationSchemeNameChoice */\nexport const PersonIdentificationSchemeNameChoiceSchema: ASN1.Schema = {\n\tchoice: [\n\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } }\n\t]\n};\n\n// Generated ASN.1 schemas for ISO 20022 regular sequence types\n/** ASN.1 schema for GenericOrganizationIdentification */\nexport const GenericOrganizationIdentificationSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['id', 'issuer', 'schemeName'],\n\tcontains: {\n\t\tid: { type: 'string', kind: 'utf8' },\n\t\tissuer: { optional: { type: 'string', kind: 'utf8' } },\n\t\tschemeName: { optional: OrganizationIdentificationSchemeNameChoiceSchema }\n\t}\n};\n\n/** ASN.1 schema for GenericPersonIdentification */\nexport const GenericPersonIdentificationSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['id', 'issuer', 'schemeName'],\n\tcontains: {\n\t\tid: { type: 'string', kind: 'utf8' },\n\t\tissuer: { optional: { type: 'string', kind: 'utf8' } },\n\t\tschemeName: { optional: PersonIdentificationSchemeNameChoiceSchema }\n\t}\n};\n\n/** ASN.1 schema for OtherContact */\nexport const OtherContactSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['channelType', 'id'],\n\tcontains: {\n\t\tchannelType: { type: 'string', kind: 'utf8' },\n\t\tid: { optional: { type: 'string', kind: 'utf8' } }\n\t}\n};\n\n// Generated ASN.1 schemas for ISO 20022 sequence-of-choice types\n/** ASN.1 schema for OrganizationIdentification */\nexport const OrganizationIdentificationSchema: ASN1.Schema = {\n\tsequenceOf: {\n\t\tchoice: [\n\t\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 1, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 2, contains: GenericOrganizationIdentificationSchema }\n\t\t]\n\t}\n};\n\nexport const OrganizationIdentificationFields = [\n\t'bic',\n\t'lei',\n\t'other'\n] as const;\n\n\n/** ASN.1 schema for PersonIdentification */\nexport const PersonIdentificationSchema: ASN1.Schema = {\n\tsequenceOf: {\n\t\tchoice: [\n\t\t\t{ type: 'context', kind: 'explicit', value: 0, contains: { type: 'string', kind: 'utf8' } },\n\t\t\t{ type: 'context', kind: 'explicit', value: 1, contains: GenericPersonIdentificationSchema }\n\t\t]\n\t}\n};\n\nexport const PersonIdentificationFields = [\n\t'dateAndPlaceOfBirth',\n\t'other'\n] as const;\n\n\n// Generated ASN.1 schemas for choice-type sensitive attributes\n/** Person's full name */\n/** OID: 1.3.6.1.4.1.62675.1.0 */\nexport type FullName = string;\n\n/** Person's first name */\n/** OID: 1.3.6.1.4.1.62675.1.0.1 */\nexport type FirstName = string;\n\n/** Person's last name */\n/** OID: 1.3.6.1.4.1.62675.1.0.2 */\nexport type LastName = string;\n\n/** Person's middle name */\n/** OID: 1.3.6.1.4.1.62675.1.0.3 */\nexport type MiddleName = string;\n\n/** Date of birth */\n/** OID: 1.3.6.1.4.1.62675.1.1 */\nexport type DateOfBirth = Date;\n\n/** Physical address */\n/** OID: 1.3.6.1.4.1.62675.1.2 */\nexport interface Address {\n\taddressType?: AddressType;\n\tdepartment?: Department;\n\tsubDepartment?: SubDepartment;\n\tstreetName?: StreetName;\n\tbuildingNumber?: BuildingNumber;\n\tpostalCode?: PostalCode;\n\ttownName?: TownName;\n\tcountrySubDivision?: CountrySubDivision;\n\tcountry?: Country;\n\taddressLines?: AddressLines;\n}\n\n/** Email address */\n/** OID: 1.3.6.1.4.1.62675.1.3 */\nexport type Email = string;\n\n/** Phone number */\n/** OID: 1.3.6.1.4.1.62675.1.4 */\nexport type PhoneNumber = string;\n\n/** Date and place of birth information */\n/** OID: 1.3.6.1.4.1.62675.1.5 */\nexport interface DateAndPlaceOfBirth {\n\tbirthDate: BirthDate;\n\tprovinceOfBirth?: CountrySubDivision;\n\tcityOfBirth: TownName;\n\tcountryOfBirth: Country;\n}\n\n/** Job title */\n/** OID: 1.3.6.1.4.1.62675.1.6 */\nexport type JobTitle = string;\n\n/** Job responsibility */\n/** OID: 1.3.6.1.4.1.62675.1.6.1 */\nexport type JobResponsibility = string;\n\n/** Identifier */\n/** OID: 1.3.6.1.4.1.62675.1.7 */\nexport type Id = string;\n\n/** Issuer identifier */\n/** OID: 1.3.6.1.4.1.62675.1.7.1 */\nexport type Issuer = string;\n\n/** Entity type (organization or person) */\n/** OID: 1.3.6.1.4.1.62675.1.8 */\nexport interface EntityType {\n\torganization?: GenericOrganizationIdentification[];\n\tperson?: GenericPersonIdentification[];\n}\n\n/** Contact details */\n/** OID: 1.3.6.1.4.1.62675.1.9 */\nexport interface ContactDetails {\n\tnamePrefix?: NamePrefixCode;\n\tfullName?: FullName;\n\tphoneNumber?: PhoneNumber;\n\tmobileNumber?: PhoneNumber;\n\tfaxNumber?: PhoneNumber;\n\temailAddress?: EmailAddress;\n\temailPurpose?: EmailAddressPurpose;\n\tjobTitle?: JobTitle;\n\tjobResponsibility?: JobResponsibility;\n\tdepartment?: Department;\n\tother?: OtherContact[];\n\tpreferredMethod?: PreferredContactMethodCode;\n}\n\n/** Nationality */\n/** OID: 1.3.6.1.4.1.62675.1.10 */\nexport type Nationality = string;\n\n/** Generic document structure with metadata */\n/** OID: 1.3.6.1.4.1.62675.1.11 */\nexport interface Document {\n\tdocumentNumber: string;\n\tfront?: Reference;\n\tback?: Reference;\n\tselfie?: Reference;\n\tfullName?: string;\n\tfirstName?: string;\n\tlastName?: string;\n\tdob?: Date;\n\tgender?: string;\n\taddress?: Address;\n\texpiresAt?: Date;\n\tissuedAt?: Date;\n\tissuingState?: string;\n\tissuingCountry?: string;\n\trefNumber?: string;\n\tnationality?: string;\n\tcurp?: string;\n\tclaveDeElector?: string;\n\tclassifiedDocumentType?: string;\n\tcurpValidationResponse?: string;\n\tsambaActivityHistoryResponse?: string;\n}\n\n/** Driver's license document */\n/** OID: 1.3.6.1.4.1.62675.1.11.0 */\nexport type DocumentDriversLicense = Document;\n\n/** ID card document */\n/** OID: 1.3.6.1.4.1.62675.1.11.1 */\nexport type DocumentIdCard = Document;\n\n/** Passport document */\n/** OID: 1.3.6.1.4.1.62675.1.11.2 */\nexport type DocumentPassport = Document;\n\n/** Passport card document */\n/** OID: 1.3.6.1.4.1.62675.1.11.3 */\nexport type DocumentPassportCard = Document;\n\n/** Permit document */\n/** OID: 1.3.6.1.4.1.62675.1.11.4 */\nexport type DocumentPermit = Document;\n\n/** Visa document */\n/** OID: 1.3.6.1.4.1.62675.1.11.5 */\nexport type DocumentVisa = Document;\n\n/** Residence document */\n/** OID: 1.3.6.1.4.1.62675.1.11.6 */\nexport type DocumentResidenceDocument = Document;\n\n/** DigestInfo from RFC 3447 */\nexport interface DigestInfo {\n\tdigestAlgorithm: ASN1.ASN1OID;\n\tdigest: Buffer;\n}\n\nexport const DigestInfoSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['digestAlgorithm', 'digest'],\n\tcontains: {\n\t\tdigestAlgorithm: ASN1.ValidateASN1.IsOID,\n\t\tdigest: ASN1.ValidateASN1.IsOctetString\n\t}\n};\n\n/** External reference pointer */\nexport interface ExternalReference {\n\turl: string;\n\tcontentType: string;\n}\n\nexport const ExternalReferenceSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['url', 'contentType'],\n\tcontains: {\n\t\turl: { type: 'string', kind: 'utf8' },\n\t\tcontentType: { type: 'string', kind: 'utf8' }\n\t}\n};\n\n/** Reference */\nexport interface Reference {\n\texternal: ExternalReference;\n\tdigest: DigestInfo;\n\tencryptionAlgorithm: ASN1.ASN1OID;\n\t/**\n\t * TODOC\n\t */\n\t$blob: (principals?: KeetaNetAccount[]) => Promise<Blob>;\n}\n\nexport const ReferenceSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['external', 'digest', 'encryptionAlgorithm'],\n\tcontains: {\n\t\texternal: ExternalReferenceSchema,\n\t\tdigest: DigestInfoSchema,\n\t\tencryptionAlgorithm: ASN1.ValidateASN1.IsOID\n\t}\n};\n\n// Token aliases for sensitive attributes\n/** Alias for DateOfBirth */\nexport type BirthDate = DateOfBirth;\n\n/** Alias for Email */\nexport type EmailAddress = Email;\n\n/** Union type of all sensitive attribute types */\nexport type SensitiveAttributeType =\n\t| FullName\n\t| FirstName\n\t| LastName\n\t| MiddleName\n\t| DateOfBirth\n\t| Address\n\t| Email\n\t| PhoneNumber\n\t| DateAndPlaceOfBirth\n\t| JobTitle\n\t| JobResponsibility\n\t| Id\n\t| Issuer\n\t| EntityType\n\t| ContactDetails\n\t| Nationality\n\t| Document\n\t| DocumentDriversLicense\n\t| DocumentIdCard\n\t| DocumentPassport\n\t| DocumentPassportCard\n\t| DocumentPermit\n\t| DocumentVisa\n\t| DocumentResidenceDocument;\n\n/** Map of attribute name to acceptable input type for CertificateBuilder.setAttribute */\nexport interface CertificateAttributeValueMap {\n\t'fullName': FullName;\n\t'firstName': FirstName;\n\t'lastName': LastName;\n\t'middleName': MiddleName;\n\t'dateOfBirth': DateOfBirth;\n\t'address': Address;\n\t'email': Email;\n\t'phoneNumber': PhoneNumber;\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirth;\n\t'jobTitle': JobTitle;\n\t'jobResponsibility': JobResponsibility;\n\t'id': Id;\n\t'issuer': Issuer;\n\t'entityType': EntityType;\n\t'contactDetails': ContactDetails;\n\t'nationality': Nationality;\n\t'document': Document;\n\t'documentDriversLicense': DocumentDriversLicense;\n\t'documentIdCard': DocumentIdCard;\n\t'documentPassport': DocumentPassport;\n\t'documentPassportCard': DocumentPassportCard;\n\t'documentPermit': DocumentPermit;\n\t'documentVisa': DocumentVisa;\n\t'documentResidenceDocument': DocumentResidenceDocument;\n}\n\n/** Helper generic to get attribute value type by name */\nexport type CertificateAttributeValue<Name extends keyof CertificateAttributeValueMap> = CertificateAttributeValueMap[Name];\n\nexport const AddressFields = ['addressLines', 'addressType', 'buildingNumber', 'country', 'countrySubDivision', 'department', 'postalCode', 'streetName', 'subDepartment', 'townName'] as const;\nexport const AddressSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['addressLines', 'addressType', 'buildingNumber', 'country', 'countrySubDivision', 'department', 'postalCode', 'streetName', 'subDepartment', 'townName'],\n\tcontains: {\n\t\taddressLines: { optional: { sequenceOf: { type: 'string', kind: 'utf8' } } },\n\t\taddressType: { optional: AddressTypeSchema },\n\t\tbuildingNumber: { optional: { type: 'string', kind: 'utf8' } },\n\t\tcountry: { optional: { type: 'string', kind: 'utf8' } },\n\t\tcountrySubDivision: { optional: { type: 'string', kind: 'utf8' } },\n\t\tdepartment: { optional: { type: 'string', kind: 'utf8' } },\n\t\tpostalCode: { optional: { type: 'string', kind: 'utf8' } },\n\t\tstreetName: { optional: { type: 'string', kind: 'utf8' } },\n\t\tsubDepartment: { optional: { type: 'string', kind: 'utf8' } },\n\t\ttownName: { optional: { type: 'string', kind: 'utf8' } }\n\t}\n};\nexport const DateAndPlaceOfBirthFields = ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'] as const;\nexport const DateAndPlaceOfBirthSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['birthDate', 'cityOfBirth', 'countryOfBirth', 'provinceOfBirth'],\n\tcontains: {\n\t\tbirthDate: ASN1.ValidateASN1.IsDate,\n\t\tcityOfBirth: { type: 'string', kind: 'utf8' },\n\t\tcountryOfBirth: { type: 'string', kind: 'utf8' },\n\t\tprovinceOfBirth: { optional: { type: 'string', kind: 'utf8' } }\n\t}\n};\nexport const EntityTypeFields = ['organization', 'person'] as const;\nexport const EntityTypeSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['organization', 'person'],\n\tcontains: {\n\t\torganization: { optional: { sequenceOf: GenericOrganizationIdentificationSchema } },\n\t\tperson: { optional: { sequenceOf: GenericPersonIdentificationSchema } }\n\t}\n};\nexport const ContactDetailsFields = ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'] as const;\nexport const ContactDetailsSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['department', 'emailAddress', 'emailPurpose', 'faxNumber', 'fullName', 'jobResponsibility', 'jobTitle', 'mobileNumber', 'namePrefix', 'other', 'phoneNumber', 'preferredMethod'],\n\tcontains: {\n\t\tdepartment: { optional: { type: 'string', kind: 'utf8' } },\n\t\temailAddress: { optional: { type: 'string', kind: 'utf8' } },\n\t\temailPurpose: { optional: { type: 'string', kind: 'utf8' } },\n\t\tfaxNumber: { optional: { type: 'string', kind: 'utf8' } },\n\t\tfullName: { optional: { type: 'string', kind: 'utf8' } },\n\t\tjobResponsibility: { optional: { type: 'string', kind: 'utf8' } },\n\t\tjobTitle: { optional: { type: 'string', kind: 'utf8' } },\n\t\tmobileNumber: { optional: { type: 'string', kind: 'utf8' } },\n\t\tnamePrefix: { optional: { type: 'string', kind: 'utf8' } },\n\t\tother: { optional: { sequenceOf: OtherContactSchema } },\n\t\tphoneNumber: { optional: { type: 'string', kind: 'utf8' } },\n\t\tpreferredMethod: { optional: { type: 'string', kind: 'utf8' } }\n\t}\n};\nexport const DocumentFields = ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'] as const;\nexport const DocumentSchema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: ['documentNumber', 'front', 'back', 'selfie', 'fullName', 'firstName', 'lastName', 'dob', 'gender', 'address', 'expiresAt', 'issuedAt', 'issuingState', 'issuingCountry', 'refNumber', 'nationality', 'curp', 'claveDeElector', 'classifiedDocumentType', 'curpValidationResponse', 'sambaActivityHistoryResponse'],\n\tcontains: {\n\t\tdocumentNumber: { type: 'string', kind: 'utf8' },\n\t\tfront: { optional: ReferenceSchema },\n\t\tback: { optional: ReferenceSchema },\n\t\tselfie: { optional: ReferenceSchema },\n\t\tfullName: { optional: { type: 'string', kind: 'utf8' } },\n\t\tfirstName: { optional: { type: 'string', kind: 'utf8' } },\n\t\tlastName: { optional: { type: 'string', kind: 'utf8' } },\n\t\tdob: { optional: ASN1.ValidateASN1.IsDate },\n\t\tgender: { optional: { type: 'string', kind: 'utf8' } },\n\t\taddress: { optional: AddressSchema },\n\t\texpiresAt: { optional: ASN1.ValidateASN1.IsDate },\n\t\tissuedAt: { optional: ASN1.ValidateASN1.IsDate },\n\t\tissuingState: { optional: { type: 'string', kind: 'utf8' } },\n\t\tissuingCountry: { optional: { type: 'string', kind: 'utf8' } },\n\t\trefNumber: { optional: { type: 'string', kind: 'utf8' } },\n\t\tnationality: { optional: { type: 'string', kind: 'utf8' } },\n\t\tcurp: { optional: { type: 'string', kind: 'utf8' } },\n\t\tclaveDeElector: { optional: { type: 'string', kind: 'utf8' } },\n\t\tclassifiedDocumentType: { optional: { type: 'string', kind: 'utf8' } },\n\t\tcurpValidationResponse: { optional: { type: 'string', kind: 'utf8' } },\n\t\tsambaActivityHistoryResponse: { optional: { type: 'string', kind: 'utf8' } }\n\t}\n};\nexport const CertificateAttributeOIDDB = {\n\t'fullName': '1.3.6.1.4.1.62675.1.0',\n\t'firstName': '1.3.6.1.4.1.62675.1.0.1',\n\t'lastName': '1.3.6.1.4.1.62675.1.0.2',\n\t'middleName': '1.3.6.1.4.1.62675.1.0.3',\n\t'dateOfBirth': '1.3.6.1.4.1.62675.1.1',\n\t'address': '1.3.6.1.4.1.62675.1.2',\n\t'email': '1.3.6.1.4.1.62675.1.3',\n\t'phoneNumber': '1.3.6.1.4.1.62675.1.4',\n\t'dateAndPlaceOfBirth': '1.3.6.1.4.1.62675.1.5',\n\t'jobTitle': '1.3.6.1.4.1.62675.1.6',\n\t'jobResponsibility': '1.3.6.1.4.1.62675.1.6.1',\n\t'id': '1.3.6.1.4.1.62675.1.7',\n\t'issuer': '1.3.6.1.4.1.62675.1.7.1',\n\t'entityType': '1.3.6.1.4.1.62675.1.8',\n\t'contactDetails': '1.3.6.1.4.1.62675.1.9',\n\t'nationality': '1.3.6.1.4.1.62675.1.10',\n\t'document': '1.3.6.1.4.1.62675.1.11',\n\t'documentDriversLicense': '1.3.6.1.4.1.62675.1.11.0',\n\t'documentIdCard': '1.3.6.1.4.1.62675.1.11.1',\n\t'documentPassport': '1.3.6.1.4.1.62675.1.11.2',\n\t'documentPassportCard': '1.3.6.1.4.1.62675.1.11.3',\n\t'documentPermit': '1.3.6.1.4.1.62675.1.11.4',\n\t'documentVisa': '1.3.6.1.4.1.62675.1.11.5',\n\t'documentResidenceDocument': '1.3.6.1.4.1.62675.1.11.6'\n} as const;\n\nexport const SENSITIVE_CERTIFICATE_ATTRIBUTES = [\n\t'fullName',\n\t'firstName',\n\t'lastName',\n\t'middleName',\n\t'dateOfBirth',\n\t'address',\n\t'email',\n\t'phoneNumber',\n\t'dateAndPlaceOfBirth',\n\t'jobTitle',\n\t'jobResponsibility',\n\t'id',\n\t'issuer',\n\t'entityType',\n\t'contactDetails',\n\t'nationality',\n\t'document',\n\t'documentDriversLicense',\n\t'documentIdCard',\n\t'documentPassport',\n\t'documentPassportCard',\n\t'documentPermit',\n\t'documentVisa',\n\t'documentResidenceDocument'\n] as const;\n\nexport type SensitiveCertificateAttributeNames = typeof SENSITIVE_CERTIFICATE_ATTRIBUTES[number];\n\nexport const SensitiveCertificateAttributeNames = [\n\t'FullName',\n\t'FirstName',\n\t'LastName',\n\t'MiddleName',\n\t'DateOfBirth',\n\t'Address',\n\t'Email',\n\t'PhoneNumber',\n\t'DateAndPlaceOfBirth',\n\t'JobTitle',\n\t'JobResponsibility',\n\t'Id',\n\t'Issuer',\n\t'EntityType',\n\t'ContactDetails',\n\t'Nationality',\n\t'Document',\n\t'DocumentDriversLicense',\n\t'DocumentIdCard',\n\t'DocumentPassport',\n\t'DocumentPassportCard',\n\t'DocumentPermit',\n\t'DocumentVisa',\n\t'DocumentResidenceDocument'\n] as const;\n\nexport const CertificateAttributeFieldNames: { readonly [K in keyof typeof CertificateAttributeOIDDB]?: readonly string[] } = {\n\t'address': AddressFields,\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirthFields,\n\t'entityType': EntityTypeFields,\n\t'contactDetails': ContactDetailsFields,\n\t'document': DocumentFields\n} as const;\n\nexport const CertificateAttributeSchema: { readonly [K in keyof typeof CertificateAttributeOIDDB]: ASN1.Schema } = {\n\t'fullName': { type: 'string', kind: 'utf8' },\n\t'firstName': { type: 'string', kind: 'utf8' },\n\t'lastName': { type: 'string', kind: 'utf8' },\n\t'middleName': { type: 'string', kind: 'utf8' },\n\t'dateOfBirth': ASN1.ValidateASN1.IsDate,\n\t'address': AddressSchema,\n\t'email': { type: 'string', kind: 'utf8' },\n\t'phoneNumber': { type: 'string', kind: 'utf8' },\n\t'dateAndPlaceOfBirth': DateAndPlaceOfBirthSchema,\n\t'jobTitle': { type: 'string', kind: 'utf8' },\n\t'jobResponsibility': { type: 'string', kind: 'utf8' },\n\t'id': { type: 'string', kind: 'utf8' },\n\t'issuer': { type: 'string', kind: 'utf8' },\n\t'entityType': EntityTypeSchema,\n\t'contactDetails': ContactDetailsSchema,\n\t'nationality': { type: 'string', kind: 'utf8' },\n\t'document': DocumentSchema,\n\t'documentDriversLicense': DocumentSchema,\n\t'documentIdCard': DocumentSchema,\n\t'documentPassport': DocumentSchema,\n\t'documentPassportCard': DocumentSchema,\n\t'documentPermit': DocumentSchema,\n\t'documentVisa': DocumentSchema,\n\t'documentResidenceDocument': DocumentSchema\n} as const;\n"]}
|
|
@@ -285,7 +285,6 @@ function genSequenceSchema(typeName, fields, config) {
|
|
|
285
285
|
// Resolve to base type to handle aliases
|
|
286
286
|
const baseType = resolveToBaseType(fcfg.type);
|
|
287
287
|
let fieldSchema;
|
|
288
|
-
let isChoiceType = false;
|
|
289
288
|
// Check if field type is GeneralizedTime (date)
|
|
290
289
|
if (baseType === 'GeneralizedTime') {
|
|
291
290
|
fieldSchema = 'ASN1.ValidateASN1.IsDate';
|
|
@@ -307,7 +306,6 @@ function genSequenceSchema(typeName, fields, config) {
|
|
|
307
306
|
const isSensitiveChoice = oidSchema.sensitive_attributes[fieldTypeSnake]?.choices;
|
|
308
307
|
const isExtension = oidSchema.extensions[fieldTypeSnake]?.fields ?? oidSchema.extensions[fieldType]?.fields;
|
|
309
308
|
const hasSchema = isChoice ?? isSequence ?? isSensitiveSequence ?? isSensitiveChoice ?? isExtension;
|
|
310
|
-
isChoiceType = !!(isChoice ?? isSensitiveChoice);
|
|
311
309
|
if (hasSchema) {
|
|
312
310
|
fieldSchema = `${fieldTypePascal}Schema`;
|
|
313
311
|
}
|
|
@@ -328,41 +326,15 @@ function genSequenceSchema(typeName, fields, config) {
|
|
|
328
326
|
fieldSchema = `{ sequenceOf: ${fieldSchema} }`;
|
|
329
327
|
}
|
|
330
328
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
schema: fieldSchema,
|
|
334
|
-
optional: fcfg.optional ?? false,
|
|
335
|
-
isChoice: isChoiceType
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
// Check if ANY field is optional - if so, ALL fields need context tags for proper ordering
|
|
339
|
-
const hasAnyOptionalField = fieldOrder.some(function (fname) {
|
|
340
|
-
const fieldInfo = structFields[fname];
|
|
341
|
-
return (fieldInfo?.optional ?? false);
|
|
342
|
-
});
|
|
343
|
-
const containsObject = fieldOrder.map(function (fname, index) {
|
|
344
|
-
const fieldInfo = structFields[fname];
|
|
345
|
-
if (!fieldInfo) {
|
|
346
|
-
throw (new Error(`Field ${fname} not found in structFields`));
|
|
347
|
-
}
|
|
348
|
-
const baseSchema = fieldInfo.schema;
|
|
349
|
-
const isOptional = fieldInfo.optional;
|
|
350
|
-
const isChoiceField = fieldInfo.isChoice;
|
|
351
|
-
if (hasAnyOptionalField && !isChoiceField) {
|
|
352
|
-
const wrappedInContext = `{ type: 'context', kind: 'explicit', value: ${index}, contains: ${baseSchema} }`;
|
|
353
|
-
if (isOptional) {
|
|
354
|
-
return (`\t\t${fname}: { optional: ${wrappedInContext} }`);
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
return (`\t\t${fname}: ${wrappedInContext}`);
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
else if (isOptional) {
|
|
361
|
-
return (`\t\t${fname}: { optional: ${baseSchema} }`);
|
|
329
|
+
if (fcfg.optional) {
|
|
330
|
+
structFields[fname] = `{ optional: ${fieldSchema} }`;
|
|
362
331
|
}
|
|
363
332
|
else {
|
|
364
|
-
|
|
333
|
+
structFields[fname] = fieldSchema;
|
|
365
334
|
}
|
|
335
|
+
}
|
|
336
|
+
const containsObject = fieldOrder.map(function (fname) {
|
|
337
|
+
return (`\t\t${fname}: ${structFields[fname]}`);
|
|
366
338
|
}).join(',\n');
|
|
367
339
|
return (`export const ${typeName}Schema: ASN1.Schema = {\n\ttype: 'struct',\n\tfieldNames: [${fieldOrder.map(f => `'${f}'`).join(', ')}],\n\tcontains: {\n${containsObject}\n\t}\n};`);
|
|
368
340
|
}
|