@procivis/react-native-one-core 1.119306.0 → 1.123589.0

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.
@@ -138,14 +138,6 @@ class ProcivisOneCoreModule(reactContext: ReactApplicationContext) :
138
138
  }
139
139
  }
140
140
 
141
- @ReactMethod
142
- fun getOrganisationTrustCollections(organisationId: String, promise: Promise) {
143
- asyncCall(promise, scope) {
144
- val result = getCore().getOrganisationTrustCollections(organisationId)
145
- return@asyncCall convertToRN(result)
146
- }
147
- }
148
-
149
141
  @ReactMethod
150
142
  fun generateKey(keyRequest: ReadableMap, promise: Promise) {
151
143
  asyncCall(promise, scope) {
@@ -45,6 +45,9 @@ object SerializeSpecific {
45
45
  if (input is HandleInvitationResponse) {
46
46
  return invitationResponse(input)
47
47
  }
48
+ if (input is TrustInformationDetailInfo) {
49
+ return trustInformationDetailInfo(input)
50
+ }
48
51
  throw IllegalArgumentException("Invalid map conversion: $input")
49
52
  }
50
53
 
@@ -224,6 +227,9 @@ object SerializeSpecific {
224
227
  }
225
228
  result.putString("protocol", value.protocol)
226
229
  result.putBoolean("requiresWalletInstanceAttestation", value.requiresWalletInstanceAttestation)
230
+ value.ecosystem?.let {
231
+ result.putString("ecosystem", it)
232
+ }
227
233
  }
228
234
 
229
235
  is HandleInvitationResponse.AuthorizationCodeFlow -> {
@@ -231,6 +237,9 @@ object SerializeSpecific {
231
237
  result.putString("interactionId", value.interactionId)
232
238
  result.putString("authorizationCodeFlowUrl", value.authorizationCodeFlowUrl)
233
239
  result.putString("protocol", value.protocol)
240
+ value.ecosystem?.let {
241
+ result.putString("ecosystem", it)
242
+ }
234
243
  }
235
244
 
236
245
  is HandleInvitationResponse.ProofRequest -> {
@@ -238,6 +247,22 @@ object SerializeSpecific {
238
247
  result.putString("interactionId", value.interactionId)
239
248
  result.putString("proofId", value.proofId)
240
249
  result.putString("protocol", value.protocol)
250
+ value.ecosystem?.let {
251
+ result.putString("ecosystem", it)
252
+ }
253
+ }
254
+ }
255
+ return result
256
+ }
257
+
258
+ private fun trustInformationDetailInfo(value: TrustInformationDetailInfo): ReadableMap {
259
+ val result = Arguments.createMap()
260
+ when (value) {
261
+ is TrustInformationDetailInfo.Eudi -> {
262
+ result.putString("type_", "EUDI")
263
+ val values = Arguments.createArray()
264
+ values.pushMap(convertToRN(value.v1) as ReadableMap)
265
+ result.putArray("value", values)
241
266
  }
242
267
  }
243
268
  return result
package/core-sdk.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "android": {
3
3
  "debug": {
4
- "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/android/onecore-debug.aar",
5
- "sha1": "ff7e6e928cc3b0c3865c2a966e210a86023310a4"
4
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/123589/android/onecore-debug.aar",
5
+ "sha1": "766ed3ca27be31e8e53c8f653b9722953c18d723"
6
6
  },
7
7
  "release": {
8
- "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/android/onecore-release.aar",
9
- "sha1": "f9c2489cfedeea5546ad37e6806d6ec013534a99"
8
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/123589/android/onecore-release.aar",
9
+ "sha1": "258c5ad012ab0da9a291d7b7dbb33094ca1b313e"
10
10
  }
11
11
  },
12
12
  "ios": {
13
- "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/ios/deploy.zip",
14
- "sha1": "aca46be28fe64660882327d62a3200bd17339b2a"
13
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/123589/ios/deploy.zip",
14
+ "sha1": "1667b6b7c84638dc7660eba00cdd8f904814c3f7"
15
15
  }
16
16
  }
@@ -157,5 +157,6 @@ export interface CoreConfig {
157
157
  walletProvider: ConfigEntities;
158
158
  verifierProvider: ConfigEntities<undefined, {}>;
159
159
  globalSettings: GlobalSettings;
160
+ ecosystem: ConfigEntities;
160
161
  }
161
162
  export {};
@@ -10,4 +10,4 @@ export interface ONECore extends Omit<OneCore, "version" | "getConfig"> {
10
10
  * @hidden
11
11
  * New Architecture bridgeless issue workaround: see https://github.com/facebook/react-native/issues/43221
12
12
  */
13
- export declare const interfaceMethodNames: readonly ["getVersion", "getConfig", "createOrganisation", "upsertOrganisation", "getOrganisation", "getOrganisationTrustCollections", "generateKey", "createDid", "listDids", "createIdentifier", "getIdentifier", "listIdentifiers", "deleteIdentifier", "handleInvitation", "holderAcceptCredential", "holderRejectCredential", "holderRefreshCredential", "initiateIssuance", "continueIssuance", "getPresentationDefinitionV2", "holderRejectProof", "holderSubmitProofV2", "listCredentials", "runTask", "deleteProofClaims", "getCredential", "getCredentialTrustInformation", "deleteCredential", "importCredentialSchema", "getCredentialSchema", "createCredentialSchema", "listCredentialSchemas", "deleteCredentialSchema", "createProof", "shareProof", "shareProofSchema", "shareCredentialSchema", "getProof", "getProofTrustInformation", "holderGetTransactionData", "listProofs", "deleteProof", "proposeProof", "qesAuthorize", "qesSign", "createProofSchema", "listProofSchemas", "getProofSchema", "deleteProofSchema", "importProofSchema", "checkRevocation", "listHistory", "getHistoryEntry", "createBackup", "backupInfo", "deleteCache", "unpackBackup", "finalizeImport", "rollbackImport", "resolveJsonldContext", "holderRegisterInstance", "holderActivateInstance", "holderInstanceStatus", "holderGetInstance", "nfcReadIsoMdlEngagement", "nfcStopIsoMdlEngagement", "uninitialize"];
13
+ export declare const interfaceMethodNames: readonly ["getVersion", "getConfig", "createOrganisation", "upsertOrganisation", "getOrganisation", "generateKey", "createDid", "listDids", "createIdentifier", "getIdentifier", "listIdentifiers", "deleteIdentifier", "handleInvitation", "holderAcceptCredential", "holderRejectCredential", "holderRefreshCredential", "initiateIssuance", "continueIssuance", "getPresentationDefinitionV2", "holderRejectProof", "holderSubmitProofV2", "listCredentials", "runTask", "deleteProofClaims", "getCredential", "getCredentialTrustInformation", "deleteCredential", "importCredentialSchema", "getCredentialSchema", "createCredentialSchema", "listCredentialSchemas", "deleteCredentialSchema", "createProof", "shareProof", "shareProofSchema", "shareCredentialSchema", "getProof", "getProofTrustInformation", "holderGetTransactionData", "listProofs", "deleteProof", "proposeProof", "qesAuthorize", "qesSign", "createProofSchema", "listProofSchemas", "getProofSchema", "deleteProofSchema", "importProofSchema", "checkRevocation", "listHistory", "getHistoryEntry", "createBackup", "backupInfo", "deleteCache", "unpackBackup", "finalizeImport", "rollbackImport", "resolveJsonldContext", "holderRegisterInstance", "holderActivateInstance", "holderInstanceStatus", "holderGetInstance", "nfcReadIsoMdlEngagement", "nfcStopIsoMdlEngagement", "uninitialize"];
package/dist/src/core.js CHANGED
@@ -10,7 +10,6 @@ export const interfaceMethodNames = [
10
10
  "createOrganisation",
11
11
  "upsertOrganisation",
12
12
  "getOrganisation",
13
- "getOrganisationTrustCollections",
14
13
  "generateKey",
15
14
  "createDid",
16
15
  "listDids",
@@ -103,6 +103,7 @@ export interface Config {
103
103
  */
104
104
  walletProvider: Record<string, string>;
105
105
  verifierProvider: Record<string, string>;
106
+ ecosystem: Record<string, string>;
106
107
  /** Deployment-wide settings that are not tied to a specific config entity. */
107
108
  globalSettings: GlobalSettings;
108
109
  }
@@ -117,6 +118,7 @@ export interface ContinueIssuanceResponse {
117
118
  requiresWalletInstanceAttestation: boolean;
118
119
  /** Protocol used for issuance. */
119
120
  protocol: string;
121
+ ecosystem?: string;
120
122
  }
121
123
  export interface CreateCertificateAuthorityRequest {
122
124
  name?: string;
@@ -136,7 +138,6 @@ export interface CreateCredentialSchemaRequest {
136
138
  organisationId: string;
137
139
  claims: Array<CredentialClaimSchemaRequest>;
138
140
  keyStorageSecurity?: KeyStorageSecurity;
139
- layoutType: LayoutType;
140
141
  layoutProperties?: CredentialSchemaLayoutProperties;
141
142
  allowSuspension?: boolean;
142
143
  allowRevocation?: boolean;
@@ -145,6 +146,8 @@ export interface CreateCredentialSchemaRequest {
145
146
  transactionCode?: CredentialSchemaTransactionCodeRequest;
146
147
  translations?: CredentialSchemaTranslations;
147
148
  embeddedDisclosurePolicy?: DisclosurePolicyCreateRequest;
149
+ expiration?: number;
150
+ ecosystem?: string;
148
151
  }
149
152
  export interface CreateDidRequest {
150
153
  organisationId: string;
@@ -234,6 +237,7 @@ export interface CreateProofRequest {
234
237
  engagement?: string;
235
238
  /** Optional transaction data to request authorization for. */
236
239
  transactionData?: Array<ProofRequestTransactionData>;
240
+ ecosystem?: string;
237
241
  }
238
242
  export interface CreateProofSchemaInput {
239
243
  credentialSchemaId: string;
@@ -249,6 +253,7 @@ export interface CreateProofSchemaRequest {
249
253
  expireDuration: number;
250
254
  /** Set of all claims to request. */
251
255
  proofInputSchemas: Array<CreateProofSchemaInput>;
256
+ ecosystem?: string;
252
257
  }
253
258
  export interface CreateSelfSignedCertificateAuthorityIssuerAlternativeNameRequest {
254
259
  type: CreateSelfSignedCaRequestIssuerAlternativeNameType;
@@ -292,6 +297,7 @@ export interface CredentialDetail {
292
297
  issuanceDate?: string;
293
298
  lastModified: string;
294
299
  revocationDate?: string;
300
+ expiresAt?: string;
295
301
  /** Credential issuer metadata. */
296
302
  issuer?: IdentifierListItem;
297
303
  /** Credential holder metadata. */
@@ -323,6 +329,7 @@ export interface CredentialDetail {
323
329
  type: CredentialType;
324
330
  remainingBatchItemCount?: number;
325
331
  parentId?: string;
332
+ ecosystem?: string;
326
333
  }
327
334
  export interface CredentialList {
328
335
  values: Array<CredentialListItem>;
@@ -335,6 +342,7 @@ export interface CredentialListItem {
335
342
  issuanceDate?: string;
336
343
  lastModified: string;
337
344
  revocationDate?: string;
345
+ expiresAt?: string;
338
346
  /** Credential issuer metadata. */
339
347
  issuer?: string;
340
348
  /** State representation of the credential in the system. */
@@ -358,6 +366,7 @@ export interface CredentialListItem {
358
366
  type: CredentialType;
359
367
  parentId?: string;
360
368
  redirectUri?: string;
369
+ ecosystem?: string;
361
370
  }
362
371
  export interface CredentialListQuery {
363
372
  /** Page number to retrieve (0-based indexing). */
@@ -403,6 +412,7 @@ export interface CredentialListQuery {
403
412
  include?: Array<CredentialListIncludeEntityType>;
404
413
  /** Return only credentials with the specified credential schema(s). */
405
414
  credentialSchemaIds?: Array<string>;
415
+ ecosystems?: Array<string>;
406
416
  /**
407
417
  * Return only credentials created after this time. Timestamp in
408
418
  * RFC 3339 format (for example `2023-06-09T14:19:57.000Z`).
@@ -476,7 +486,6 @@ export interface CredentialSchemaDetail {
476
486
  claims: Array<ClaimSchema>;
477
487
  keyStorageSecurity?: KeyStorageSecurity;
478
488
  importedSourceUrl: string;
479
- layoutType?: LayoutType;
480
489
  layoutProperties?: CredentialSchemaLayoutProperties;
481
490
  allowSuspension: boolean;
482
491
  allowRevocation?: boolean;
@@ -484,6 +493,8 @@ export interface CredentialSchemaDetail {
484
493
  requiresWalletInstanceAttestation: boolean;
485
494
  transactionCode?: CredentialSchemaTransactionCode;
486
495
  translations: CredentialSchemaTranslations;
496
+ expiration?: number;
497
+ ecosystem?: string;
487
498
  }
488
499
  export interface CredentialSchemaDetailInfo {
489
500
  id: string;
@@ -496,7 +507,6 @@ export interface CredentialSchemaDetailInfo {
496
507
  keyStorageSecurity?: KeyStorageSecurity;
497
508
  schemaId: string;
498
509
  importedSourceUrl: string;
499
- layoutType?: LayoutType;
500
510
  layoutProperties?: CredentialSchemaLayoutProperties;
501
511
  allowSuspension: boolean;
502
512
  requiresWalletInstanceAttestation: boolean;
@@ -520,7 +530,6 @@ export interface CredentialSchemaInfo {
520
530
  revocationMethod?: string;
521
531
  keyStorageSecurity?: KeyStorageSecurity;
522
532
  schemaId: string;
523
- layoutType?: LayoutType;
524
533
  importedSourceUrl: string;
525
534
  layoutProperties?: CredentialSchemaLayoutProperties;
526
535
  allowSuspension: boolean;
@@ -548,12 +557,13 @@ export interface CredentialSchemaListItem {
548
557
  formats: Array<CredentialSchemaFormatResponse>;
549
558
  keyStorageSecurity?: KeyStorageSecurity;
550
559
  importedSourceUrl: string;
551
- layoutType?: LayoutType;
552
560
  layoutProperties?: CredentialSchemaLayoutProperties;
553
561
  allowSuspension: boolean;
554
562
  allowRevocation?: boolean;
555
563
  batchSize?: number;
556
564
  requiresWalletInstanceAttestation: boolean;
565
+ expiration?: number;
566
+ ecosystem?: string;
557
567
  }
558
568
  export interface CredentialSchemaListQuery {
559
569
  page: number;
@@ -567,6 +577,7 @@ export interface CredentialSchemaListQuery {
567
577
  include?: Array<CredentialSchemaListIncludeEntityType>;
568
578
  schemaIds?: Array<string>;
569
579
  formats?: Array<string>;
580
+ ecosystems?: Array<string>;
570
581
  usesBatchIssuance?: boolean;
571
582
  isMultiformatSchema?: boolean;
572
583
  createdDateAfter?: string;
@@ -692,6 +703,17 @@ export interface DisplayName {
692
703
  lang: string;
693
704
  value: string;
694
705
  }
706
+ export interface EcosystemInfo {
707
+ /** When true, the organization has selected this ecosystem. */
708
+ selected: boolean;
709
+ /** When true, the ecosystem should be selected by provider default (if any). */
710
+ defaultSelected: boolean;
711
+ /** Ecosystem provider name. */
712
+ name: string;
713
+ displayName: Array<DisplayName>;
714
+ description: Array<DisplayName>;
715
+ logo: string;
716
+ }
695
717
  export interface ErrorResponse {
696
718
  code: string;
697
719
  message: string;
@@ -769,6 +791,7 @@ export interface HandleInvitationRequest {
769
791
  * "myapp://example".
770
792
  */
771
793
  redirectUri?: string;
794
+ ecosystem?: string;
772
795
  }
773
796
  export interface HistoryErrorMetadata {
774
797
  errorCode: string;
@@ -972,8 +995,14 @@ export interface IdentifierListQuery {
972
995
  keyStorages?: Array<string>;
973
996
  certificateRoles?: Array<CertificateRole>;
974
997
  certificateRolesMatchMode?: CertificateRolesMatchMode;
998
+ /** Deprecated, use `ecosystemCredentialSchemaId` */
975
999
  trustIssuanceSchemaId?: string;
1000
+ /** Deprecated, use `ecosystemProofSchemaId` */
976
1001
  trustVerificationSchemaId?: string;
1002
+ ecosystem?: string;
1003
+ ecosystemRoles?: Array<EcosystemRole>;
1004
+ ecosystemCredentialSchemaId?: string;
1005
+ ecosystemProofSchemaId?: string;
977
1006
  createdDateAfter?: string;
978
1007
  createdDateBefore?: string;
979
1008
  lastModifiedAfter?: string;
@@ -1023,7 +1052,6 @@ export interface ImportCredentialSchemaRequestSchema {
1023
1052
  claims: Array<ImportCredentialSchemaClaimSchema>;
1024
1053
  keyStorageSecurity?: KeyStorageSecurity;
1025
1054
  importedSourceUrl: string;
1026
- layoutType?: LayoutType;
1027
1055
  layoutProperties?: ImportCredentialSchemaLayoutProperties;
1028
1056
  allowSuspension?: boolean;
1029
1057
  requiresWalletInstanceAttestation?: boolean;
@@ -1032,6 +1060,7 @@ export interface ImportCredentialSchemaRequestSchema {
1032
1060
  batchSize?: number;
1033
1061
  translations?: CredentialSchemaTranslations;
1034
1062
  embeddedDisclosurePolicy?: DisclosurePolicy;
1063
+ expiration?: number;
1035
1064
  }
1036
1065
  export interface ImportCredentialSchemaTransactionCode {
1037
1066
  type: TransactionCodeType;
@@ -1076,7 +1105,6 @@ export interface ImportProofSchemaCredentialSchema {
1076
1105
  keyStorageSecurity?: KeyStorageSecurity;
1077
1106
  schemaId: string;
1078
1107
  importedSourceUrl: string;
1079
- layoutType?: LayoutType;
1080
1108
  layoutProperties?: CredentialSchemaLayoutProperties;
1081
1109
  allowSuspension?: boolean;
1082
1110
  requiresWalletInstanceAttestation?: boolean;
@@ -1120,16 +1148,11 @@ export interface InitiateIssuanceRequest {
1120
1148
  scope?: Array<string>;
1121
1149
  /** OpenID4VCI authorization request parameter. */
1122
1150
  authorizationDetails?: Array<InitiateIssuanceAuthorizationDetail>;
1151
+ ecosystem?: string;
1123
1152
  }
1124
1153
  export interface InitiateIssuanceResponse {
1125
1154
  url: string;
1126
1155
  }
1127
- export interface InstanceDetail {
1128
- id: string;
1129
- providerUrl: string;
1130
- providerName: string;
1131
- authenticationKeyType: string;
1132
- }
1133
1156
  export interface InstanceProvider {
1134
1157
  /**
1135
1158
  * Full URL for the GET provider metadata endpoint, for example:
@@ -1192,20 +1215,20 @@ export interface OpenId4vciTxCode {
1192
1215
  }
1193
1216
  export interface OrganisationConfiguration {
1194
1217
  /**
1195
- * When true, the verifier will only validate presentations of
1196
- * credentials issued by trusted issuers.
1218
+ * When true, the issuer will only issue credentials to holders of one of
1219
+ * the selected ecosystems.
1197
1220
  */
1198
- trustedIssuerRequired: boolean;
1221
+ enforceEcosystemAsIssuer: boolean;
1199
1222
  /**
1200
- * When true, the wallet only accepts presentation requests from
1201
- * trusted relying parties.
1223
+ * When true, the wallet only accepts issuance and presentation requests
1224
+ * from members of one of the selected ecosystems.
1202
1225
  */
1203
- trustedRpRequired: boolean;
1226
+ enforceEcosystemAsHolder: boolean;
1204
1227
  /**
1205
- * When true, the issuer will only issue credentials requiring wallet
1206
- * attestations to wallets of trusted wallet providers.
1228
+ * When true, the verifier will only validate presentations of credentials
1229
+ * issued within one of the selected ecosystems.
1207
1230
  */
1208
- trustedWalletProviderRequired: boolean;
1231
+ enforceEcosystemAsVerifier: boolean;
1209
1232
  }
1210
1233
  export interface OrganisationDetail {
1211
1234
  id: string;
@@ -1219,18 +1242,26 @@ export interface OrganisationDetail {
1219
1242
  parentOrganisation?: string;
1220
1243
  /** Policy-level configuration for this organization. */
1221
1244
  configuration?: OrganisationConfiguration;
1245
+ /**
1246
+ * The ecosystems offered to this organization by its wallet or verifier
1247
+ * provider, annotated with whether the organization currently selected
1248
+ * each one. Ecosystems this system is not configured for are omitted.
1249
+ * If there is no wallet or verifier provider, the ecosystems configured
1250
+ * in the local system are returned.
1251
+ */
1252
+ ecosystems: Array<EcosystemInfo>;
1222
1253
  walletProvider?: WalletProviderDetail;
1223
1254
  verifierProvider?: VerifierProviderDetail;
1224
1255
  /**
1225
1256
  * Wallet registration details for this organization's Business
1226
1257
  * Wallet.
1227
1258
  */
1228
- walletInstance?: InstanceDetail;
1259
+ walletInstance?: WalletInstanceDetail;
1229
1260
  /**
1230
1261
  * Verifier registration details for this organization's Business
1231
1262
  * Verifier.
1232
1263
  */
1233
- verifierInstance?: InstanceDetail;
1264
+ verifierInstance?: VerifierInstanceDetail;
1234
1265
  }
1235
1266
  export interface PeripheralDiscoveryData {
1236
1267
  deviceAddress: string;
@@ -1355,6 +1386,7 @@ export interface ProofDetail {
1355
1386
  trustInformation?: TrustInformation;
1356
1387
  /** Transaction data attached to this proof request. Present only if the proof role is `VERIFIER`. */
1357
1388
  transactionData?: Array<TransactionDataResponse>;
1389
+ ecosystem?: string;
1358
1390
  }
1359
1391
  export interface ProofInput {
1360
1392
  /** Set of claims asserted by the shared credential. */
@@ -1400,6 +1432,7 @@ export interface ProofListItem {
1400
1432
  retainUntilDate?: string;
1401
1433
  /** Country profile associated with this request. */
1402
1434
  profile?: string;
1435
+ ecosystem?: string;
1403
1436
  redirectUri?: string;
1404
1437
  }
1405
1438
  export interface ProofListQuery {
@@ -1417,6 +1450,7 @@ export interface ProofListQuery {
1417
1450
  name?: string;
1418
1451
  /** Filter by one or more country profiles. */
1419
1452
  profiles?: Array<string>;
1453
+ ecosystems?: Array<string>;
1420
1454
  /** Filter by one or more UUIDs. */
1421
1455
  ids?: Array<string>;
1422
1456
  /** Filter by one or more proof request states. */
@@ -1501,6 +1535,7 @@ export interface ProofSchemaDetail {
1501
1535
  proofInputSchemas: Array<ProofInputSchema>;
1502
1536
  /** Source URL for imported schema. */
1503
1537
  importedSourceUrl?: string;
1538
+ ecosystem?: string;
1504
1539
  }
1505
1540
  export interface ProofSchemaList {
1506
1541
  values: Array<ProofSchemaListItem>;
@@ -1520,6 +1555,7 @@ export interface ProofSchemaListItem {
1520
1555
  * deleted.
1521
1556
  */
1522
1557
  expireDuration: number;
1558
+ ecosystem?: string;
1523
1559
  }
1524
1560
  export interface ProofSchemaListQuery {
1525
1561
  page: number;
@@ -1531,6 +1567,7 @@ export interface ProofSchemaListQuery {
1531
1567
  exact?: Array<ProofSchemaListQueryExactColumn>;
1532
1568
  ids?: Array<string>;
1533
1569
  formats?: Array<string>;
1570
+ ecosystems?: Array<string>;
1534
1571
  createdDateAfter?: string;
1535
1572
  createdDateBefore?: string;
1536
1573
  lastModifiedAfter?: string;
@@ -1559,6 +1596,7 @@ export interface ProposeProofRequest {
1559
1596
  organisationId: string;
1560
1597
  engagement: Array<string>;
1561
1598
  uiMessage?: string;
1599
+ ecosystem?: string;
1562
1600
  }
1563
1601
  export interface ProposeProofResponse {
1564
1602
  proofId: string;
@@ -1635,7 +1673,7 @@ export interface ShareProofResponse {
1635
1673
  expiresAt?: string;
1636
1674
  }
1637
1675
  export interface TransactionDataDisplay {
1638
- title: string;
1676
+ title?: string;
1639
1677
  attributes: Array<TransactionDataDisplayAttribute>;
1640
1678
  }
1641
1679
  export interface TransactionDataDisplayAttribute {
@@ -1651,27 +1689,15 @@ export interface TransactionDataResponse {
1651
1689
  /** Type-specific transaction data content, encoded as a JSON string. */
1652
1690
  data?: string;
1653
1691
  }
1654
- export interface TrustCollectionInfo {
1655
- /** When true, the organization is subscribed to this trust collection. */
1656
- selected: boolean;
1657
- id: string;
1658
- name: string;
1659
- logo: string;
1660
- displayName: Array<DisplayName>;
1661
- description: Array<DisplayName>;
1662
- defaultSelected?: boolean;
1663
- }
1664
1692
  export interface TrustInformation {
1665
1693
  receivedAt: string;
1666
1694
  name?: string;
1667
1695
  result: TrustResolutionResult;
1668
1696
  }
1669
1697
  export interface TrustInformationDetail {
1670
- /**
1671
- * EUDI trust information received from Access Certificates, Registration
1672
- * Certificates, or National Registry public APIs.
1673
- */
1674
- eudiEcosystem?: EudiTrustInformation;
1698
+ ecosystem?: string;
1699
+ issuer?: TrustInformationDetailInfo;
1700
+ verifier?: TrustInformationDetailInfo;
1675
1701
  }
1676
1702
  export interface TrustResolutionMetadata {
1677
1703
  result: TrustResolutionResult;
@@ -1687,21 +1713,23 @@ export interface UnexportableEntities {
1687
1713
  totalIdentifiers: number;
1688
1714
  }
1689
1715
  export interface UpsertOrganisationConfiguration {
1716
+ selectedEcosystems?: Array<string>;
1690
1717
  /**
1691
- * When true, the verifier will only validate presentations of
1692
- * credentials issued by trusted issuers.
1718
+ * When true, the issuer will only issue credentials to wallet units of one of
1719
+ * the selected ecosystems.
1693
1720
  */
1694
- trustedIssuerRequired?: boolean;
1721
+ enforceEcosystemAsIssuer?: boolean;
1695
1722
  /**
1696
- * When true, the wallet only accepts presentation requests from
1697
- * trusted relying parties.
1723
+ * When true, the wallet only accepts issuance and presentation requests
1724
+ * from members of one of the selected ecosystems.
1698
1725
  */
1699
- trustedRpRequired?: boolean;
1726
+ enforceEcosystemAsHolder?: boolean;
1700
1727
  /**
1701
- * When true, the issuer will only issue credentials requiring wallet
1702
- * attestations to wallets of trusted wallet providers.
1728
+ * When true, the verifier will only accept presentations of credentials
1729
+ * issued by issuers of the selected ecosystems. Ecosystems must be consistent
1730
+ * across presentations belonging to the same proof request.
1703
1731
  */
1704
- trustedWalletProviderRequired?: boolean;
1732
+ enforceEcosystemAsVerifier?: boolean;
1705
1733
  }
1706
1734
  export interface UpsertOrganisationRequest {
1707
1735
  /** Unique identifier of the organization to create or update. */
@@ -1730,6 +1758,20 @@ export interface UpsertOrganisationRequest {
1730
1758
  */
1731
1759
  parentOrganisation?: string | null;
1732
1760
  }
1761
+ export interface VerifierInstanceDetail {
1762
+ id: string;
1763
+ providerUrl: string;
1764
+ providerName: string;
1765
+ authenticationKeyType: string;
1766
+ /** The feature flags advertised by the provider backing this instance. */
1767
+ featureFlags: VerifierInstanceFeatureFlags;
1768
+ }
1769
+ export interface VerifierInstanceFeatureFlags {
1770
+ ecosystemsEnabled: boolean;
1771
+ /** Whether this instance must enforce the ecosystems advertised by its provider. */
1772
+ ecosystemsEnforcementEnabled: boolean;
1773
+ accessCertificateProvisioningEnabled: boolean;
1774
+ }
1733
1775
  export interface VerifierProviderDetail {
1734
1776
  /** Verifier Provider configuration used by this organization. */
1735
1777
  providerName?: string;
@@ -1748,6 +1790,21 @@ export interface Version {
1748
1790
  rustVersion: string;
1749
1791
  pipelineId: string;
1750
1792
  }
1793
+ export interface WalletInstanceDetail {
1794
+ id: string;
1795
+ providerUrl: string;
1796
+ providerName: string;
1797
+ authenticationKeyType: string;
1798
+ /** The feature flags advertised by the provider backing this instance. */
1799
+ featureFlags: WalletInstanceFeatureFlags;
1800
+ }
1801
+ export interface WalletInstanceFeatureFlags {
1802
+ ecosystemsEnabled: boolean;
1803
+ /** Whether this instance must enforce the ecosystems advertised by its provider. */
1804
+ ecosystemsEnforcementEnabled: boolean;
1805
+ refreshCredentialBatchEnabled: boolean;
1806
+ documentSigningEnabled: boolean;
1807
+ }
1751
1808
  export interface WalletProviderDetail {
1752
1809
  /**
1753
1810
  * Wallet Provider configuration used by this organization to provide
@@ -1758,7 +1815,7 @@ export interface WalletProviderDetail {
1758
1815
  issuer?: IdentifierListItem;
1759
1816
  }
1760
1817
  export interface WalletRelyingPartyMetadata {
1761
- name: string;
1818
+ name?: string;
1762
1819
  }
1763
1820
  export type ApplicableCredentialOrFailureHint = {
1764
1821
  type_: "APPLICABLE_CREDENTIALS";
@@ -1883,7 +1940,7 @@ export type ClaimValue = {
1883
1940
  export declare enum ClientIdScheme {
1884
1941
  REDIRECT_URI = "REDIRECT_URI",
1885
1942
  VERIFIER_ATTESTATION = "VERIFIER_ATTESTATION",
1886
- DID = "DID",
1943
+ DECENTRALIZED_IDENTIFIER = "DECENTRALIZED_IDENTIFIER",
1887
1944
  X509_SAN_DNS = "X509_SAN_DNS"
1888
1945
  }
1889
1946
  export type ConnectionEvent = {
@@ -1941,7 +1998,9 @@ export declare enum CredentialState {
1941
1998
  REVOKED = "REVOKED",
1942
1999
  SUSPENDED = "SUSPENDED",
1943
2000
  ERROR = "ERROR",
1944
- INTERACTION_EXPIRED = "INTERACTION_EXPIRED"
2001
+ INTERACTION_EXPIRED = "INTERACTION_EXPIRED",
2002
+ EXPIRED = "EXPIRED",
2003
+ EXPIRING = "EXPIRING"
1945
2004
  }
1946
2005
  export declare enum CredentialType {
1947
2006
  SINGLE = "SINGLE",
@@ -1956,6 +2015,14 @@ export declare enum DidType {
1956
2015
  LOCAL = "LOCAL",
1957
2016
  REMOTE = "REMOTE"
1958
2017
  }
2018
+ export declare enum EcosystemRole {
2019
+ HOLDER = "HOLDER",
2020
+ ISSUER = "ISSUER",
2021
+ VERIFIER = "VERIFIER",
2022
+ PID_PROVIDER = "PID_PROVIDER",
2023
+ NATIONAL_REGISTRY_REGISTRAR = "NATIONAL_REGISTRY_REGISTRAR",
2024
+ WALLET_PROVIDER = "WALLET_PROVIDER"
2025
+ }
1959
2026
  export type HandleInvitationResponse = {
1960
2027
  type_: "CREDENTIAL_ISSUANCE";
1961
2028
  /** For reference. */
@@ -1975,6 +2042,7 @@ export type HandleInvitationResponse = {
1975
2042
  protocol: string;
1976
2043
  /** Whether a valid WIA is required to complete issuance. */
1977
2044
  requiresWalletInstanceAttestation: boolean;
2045
+ ecosystem?: string;
1978
2046
  } | {
1979
2047
  type_: "AUTHORIZATION_CODE_FLOW";
1980
2048
  /** For reference. */
@@ -1986,6 +2054,7 @@ export type HandleInvitationResponse = {
1986
2054
  authorizationCodeFlowUrl: string;
1987
2055
  /** Protocol used for issuance. */
1988
2056
  protocol: string;
2057
+ ecosystem?: string;
1989
2058
  } | {
1990
2059
  type_: "PROOF_REQUEST";
1991
2060
  /** For reference. */
@@ -1994,6 +2063,7 @@ export type HandleInvitationResponse = {
1994
2063
  proofId: string;
1995
2064
  /** Protocol used for issuance. */
1996
2065
  protocol: string;
2066
+ ecosystem?: string;
1997
2067
  };
1998
2068
  export declare enum HistoryAction {
1999
2069
  ACCEPTED = "ACCEPTED",
@@ -2020,6 +2090,7 @@ export declare enum HistoryAction {
2020
2090
  UPDATED = "UPDATED",
2021
2091
  REACTIVATED = "REACTIVATED",
2022
2092
  EXPIRED = "EXPIRED",
2093
+ EXPIRING = "EXPIRING",
2023
2094
  INTERACTION_CREATED = "INTERACTION_CREATED",
2024
2095
  INTERACTION_ERRORED = "INTERACTION_ERRORED",
2025
2096
  INTERACTION_EXPIRED = "INTERACTION_EXPIRED",
@@ -2129,11 +2200,6 @@ export declare enum KeyStorageSecurity {
2129
2200
  ENHANCED_BASIC = "ENHANCED_BASIC",
2130
2201
  BASIC = "BASIC"
2131
2202
  }
2132
- export declare enum LayoutType {
2133
- CARD = "CARD",
2134
- DOCUMENT = "DOCUMENT",
2135
- SINGLE_ATTRIBUTE = "SINGLE_ATTRIBUTE"
2136
- }
2137
2203
  export type NativeKeyStorageError = {
2138
2204
  type_: "KEY_GENERATION_FAILURE";
2139
2205
  reason: string;
@@ -2221,7 +2287,8 @@ export declare enum SortableCredentialColumn {
2221
2287
  CREATED_DATE = "CREATED_DATE",
2222
2288
  SCHEMA_NAME = "SCHEMA_NAME",
2223
2289
  ISSUER = "ISSUER",
2224
- STATE = "STATE"
2290
+ STATE = "STATE",
2291
+ EXPIRES_AT = "EXPIRES_AT"
2225
2292
  }
2226
2293
  export declare enum SortableCredentialSchemaColumn {
2227
2294
  NAME = "NAME",
@@ -2263,6 +2330,10 @@ export declare enum TransactionCodeType {
2263
2330
  NUMERIC = "NUMERIC",
2264
2331
  ALPHANUMERIC = "ALPHANUMERIC"
2265
2332
  }
2333
+ export type TrustInformationDetailInfo = {
2334
+ type_: "EUDI";
2335
+ value: [EudiTrustInformation];
2336
+ };
2266
2337
  export declare enum TrustResolutionResult {
2267
2338
  TRUSTED = "TRUSTED",
2268
2339
  UNTRUSTED = "UNTRUSTED",
@@ -2446,9 +2517,11 @@ export interface OneCore {
2446
2517
  */
2447
2518
  getHistoryEntry(historyId: string): Promise<HistoryListItem>;
2448
2519
  getIdentifier(id: string): Promise<IdentifierDetail>;
2449
- /** Returns details of an existing organization. */
2520
+ /**
2521
+ * Returns details of an existing organization, including the ecosystems
2522
+ * offered to it.
2523
+ */
2450
2524
  getOrganisation(id: string): Promise<OrganisationDetail>;
2451
- getOrganisationTrustCollections(id: string): Promise<Array<TrustCollectionInfo>>;
2452
2525
  getPresentationDefinitionV2(proofId: string): Promise<PresentationDefinitionV2>;
2453
2526
  /** Returns detailed information about a proof request. */
2454
2527
  getProof(proofId: string): Promise<ProofDetail>;
@@ -64,7 +64,7 @@ export var ClientIdScheme;
64
64
  (function (ClientIdScheme) {
65
65
  ClientIdScheme["REDIRECT_URI"] = "REDIRECT_URI";
66
66
  ClientIdScheme["VERIFIER_ATTESTATION"] = "VERIFIER_ATTESTATION";
67
- ClientIdScheme["DID"] = "DID";
67
+ ClientIdScheme["DECENTRALIZED_IDENTIFIER"] = "DECENTRALIZED_IDENTIFIER";
68
68
  ClientIdScheme["X509_SAN_DNS"] = "X509_SAN_DNS";
69
69
  })(ClientIdScheme || (ClientIdScheme = {}));
70
70
  export var CreateSelfSignedCaRequestIssuerAlternativeNameType;
@@ -126,6 +126,8 @@ export var CredentialState;
126
126
  CredentialState["SUSPENDED"] = "SUSPENDED";
127
127
  CredentialState["ERROR"] = "ERROR";
128
128
  CredentialState["INTERACTION_EXPIRED"] = "INTERACTION_EXPIRED";
129
+ CredentialState["EXPIRED"] = "EXPIRED";
130
+ CredentialState["EXPIRING"] = "EXPIRING";
129
131
  })(CredentialState || (CredentialState = {}));
130
132
  export var CredentialType;
131
133
  (function (CredentialType) {
@@ -143,6 +145,15 @@ export var DidType;
143
145
  DidType["LOCAL"] = "LOCAL";
144
146
  DidType["REMOTE"] = "REMOTE";
145
147
  })(DidType || (DidType = {}));
148
+ export var EcosystemRole;
149
+ (function (EcosystemRole) {
150
+ EcosystemRole["HOLDER"] = "HOLDER";
151
+ EcosystemRole["ISSUER"] = "ISSUER";
152
+ EcosystemRole["VERIFIER"] = "VERIFIER";
153
+ EcosystemRole["PID_PROVIDER"] = "PID_PROVIDER";
154
+ EcosystemRole["NATIONAL_REGISTRY_REGISTRAR"] = "NATIONAL_REGISTRY_REGISTRAR";
155
+ EcosystemRole["WALLET_PROVIDER"] = "WALLET_PROVIDER";
156
+ })(EcosystemRole || (EcosystemRole = {}));
146
157
  export var HistoryAction;
147
158
  (function (HistoryAction) {
148
159
  HistoryAction["ACCEPTED"] = "ACCEPTED";
@@ -169,6 +180,7 @@ export var HistoryAction;
169
180
  HistoryAction["UPDATED"] = "UPDATED";
170
181
  HistoryAction["REACTIVATED"] = "REACTIVATED";
171
182
  HistoryAction["EXPIRED"] = "EXPIRED";
183
+ HistoryAction["EXPIRING"] = "EXPIRING";
172
184
  HistoryAction["INTERACTION_CREATED"] = "INTERACTION_CREATED";
173
185
  HistoryAction["INTERACTION_ERRORED"] = "INTERACTION_ERRORED";
174
186
  HistoryAction["INTERACTION_EXPIRED"] = "INTERACTION_EXPIRED";
@@ -273,12 +285,6 @@ export var KeyStorageSecurity;
273
285
  KeyStorageSecurity["ENHANCED_BASIC"] = "ENHANCED_BASIC";
274
286
  KeyStorageSecurity["BASIC"] = "BASIC";
275
287
  })(KeyStorageSecurity || (KeyStorageSecurity = {}));
276
- export var LayoutType;
277
- (function (LayoutType) {
278
- LayoutType["CARD"] = "CARD";
279
- LayoutType["DOCUMENT"] = "DOCUMENT";
280
- LayoutType["SINGLE_ATTRIBUTE"] = "SINGLE_ATTRIBUTE";
281
- })(LayoutType || (LayoutType = {}));
282
288
  export var OpenId4vciTxCodeInputMode;
283
289
  (function (OpenId4vciTxCodeInputMode) {
284
290
  OpenId4vciTxCodeInputMode["NUMERIC"] = "NUMERIC";
@@ -319,6 +325,7 @@ export var SortableCredentialColumn;
319
325
  SortableCredentialColumn["SCHEMA_NAME"] = "SCHEMA_NAME";
320
326
  SortableCredentialColumn["ISSUER"] = "ISSUER";
321
327
  SortableCredentialColumn["STATE"] = "STATE";
328
+ SortableCredentialColumn["EXPIRES_AT"] = "EXPIRES_AT";
322
329
  })(SortableCredentialColumn || (SortableCredentialColumn = {}));
323
330
  export var SortableCredentialSchemaColumn;
324
331
  (function (SortableCredentialSchemaColumn) {
@@ -39,10 +39,6 @@ RCT_EXTERN_METHOD(getOrganisation:(NSString *)organisationId
39
39
  resolver:(RCTPromiseResolveBlock)resolve
40
40
  rejecter:(RCTPromiseRejectBlock)reject)
41
41
 
42
- RCT_EXTERN_METHOD(getOrganisationTrustCollections:(NSString *)organisationId
43
- resolver:(RCTPromiseResolveBlock)resolve
44
- rejecter:(RCTPromiseRejectBlock)reject)
45
-
46
42
  RCT_EXTERN_METHOD(generateKey:(NSDictionary *)keyRequest
47
43
  resolver:(RCTPromiseResolveBlock)resolve
48
44
  rejecter:(RCTPromiseRejectBlock)reject)
@@ -837,18 +837,6 @@ class ProcivisOneCoreModule: RCTEventEmitter {
837
837
  }
838
838
  }
839
839
 
840
- @objc(getOrganisationTrustCollections:resolver:rejecter:)
841
- func getOrganisationTrustCollections(
842
- organisationId: String,
843
- resolve: @escaping RCTPromiseResolveBlock,
844
- reject: @escaping RCTPromiseRejectBlock
845
- ) {
846
- asyncCall(resolve, reject) {
847
- let result = try await self.getCore().getOrganisationTrustCollections(id: organisationId)
848
- return try serializeAny(result)
849
- }
850
- }
851
-
852
840
  @objc(nfcReadIsoMdlEngagement:resolver:rejecter:)
853
841
  func nfcReadIsoMdlEngagement(
854
842
  request: NSDictionary,
@@ -41,6 +41,8 @@ private func serializeSpecific(_ value: Encodable) throws -> Any? {
41
41
  return try serialize(applicableCredentialQuery: data)
42
42
  case let data as PresentationDefinitionV2ClaimValue:
43
43
  return try serialize(presentationDefinitionV2ClaimValue: data)
44
+ case let data as TrustInformationDetailInfo:
45
+ return try serialize(trustInformationDetailInfo: data)
44
46
 
45
47
  default:
46
48
  return nil
@@ -124,7 +126,7 @@ private func serialize(proofRequestClaimValue: ProofClaimValue) throws -> NSDict
124
126
 
125
127
  private func serialize(invitationResponse: HandleInvitationResponse) throws -> NSDictionary {
126
128
  switch (invitationResponse) {
127
- case let .credentialIssuance(interactionId, keyStorageSecurityLevels, keyAlgorithms, txCode, `protocol`, requiresWalletInstanceAttestation):
129
+ case let .credentialIssuance(interactionId, keyStorageSecurityLevels, keyAlgorithms, txCode, `protocol`, requiresWalletInstanceAttestation, ecosystem):
128
130
  var result: [String: Any] = [
129
131
  "type_": "CREDENTIAL_ISSUANCE",
130
132
  "interactionId": interactionId,
@@ -140,23 +142,34 @@ private func serialize(invitationResponse: HandleInvitationResponse) throws -> N
140
142
  if let txCode = txCode {
141
143
  result["txCode"] = try serializeAny(txCode)
142
144
  }
145
+ if let ecosystem = ecosystem {
146
+ result["ecosystem"] = ecosystem
147
+ }
143
148
  return result as NSDictionary;
144
149
 
145
- case let .proofRequest(interactionId, proofId, `protocol`):
146
- return [
150
+ case let .proofRequest(interactionId, proofId, `protocol`, ecosystem):
151
+ var result: [String: Any] = [
147
152
  "type_": "PROOF_REQUEST",
148
153
  "interactionId": interactionId,
149
154
  "proofId": proofId,
150
155
  "protocol": `protocol`
151
156
  ];
157
+ if let ecosystem = ecosystem {
158
+ result["ecosystem"] = ecosystem
159
+ }
160
+ return result as NSDictionary;
152
161
 
153
- case let .authorizationCodeFlow(interactionId, authorizationCodeFlowUrl, `protocol`):
154
- return [
162
+ case let .authorizationCodeFlow(interactionId, authorizationCodeFlowUrl, `protocol`, ecosystem):
163
+ var result: [String: Any] = [
155
164
  "type_": "AUTHORIZATION_CODE_FLOW",
156
165
  "interactionId": interactionId,
157
166
  "authorizationCodeFlowUrl": authorizationCodeFlowUrl,
158
167
  "protocol": `protocol`
159
168
  ];
169
+ if let ecosystem = ecosystem {
170
+ result["ecosystem"] = ecosystem
171
+ }
172
+ return result as NSDictionary;
160
173
  }
161
174
  }
162
175
 
@@ -206,3 +219,13 @@ private func serialize(presentationDefinitionV2ClaimValue: PresentationDefinitio
206
219
  ];
207
220
  }
208
221
  }
222
+
223
+ private func serialize(trustInformationDetailInfo: TrustInformationDetailInfo) throws -> NSDictionary {
224
+ switch (trustInformationDetailInfo) {
225
+ case let .eudi(value):
226
+ return [
227
+ "type_": "EUDI",
228
+ "value": [try serializeAny(value)]
229
+ ];
230
+ }
231
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procivis/react-native-one-core",
3
- "version": "1.119306.0",
3
+ "version": "1.123589.0",
4
4
  "author": "Procivis AG (https://procivis.ch)",
5
5
  "license": "Apache-2.0",
6
6
  "description": "ONE core bindings for React Native",