@procivis/react-native-one-core 1.115411.0 → 1.119306.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.
package/README.md CHANGED
@@ -86,61 +86,24 @@ regulatory ecosystems.
86
86
  We continue to look for more opportunities for interoperability testing as the standards
87
87
  and regulations mature and harden.
88
88
 
89
- ## Supported standards
90
-
91
- ### Credential models
92
-
93
- #### IETF SD-JWT VC
94
-
95
- - [IETF SD-JWT-based Verifiable Credentials][sdjwtvc]:
96
-
97
- | Standard | Supported representations | Supported proof/signature types |
98
- | -------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
99
- | IETF SD-JWT VC | SD-JWT | <ul><li>JOSE / ECDSA [ES256][es2]</li><li>JOSE / EdDSA [Ed25519][ed255]</li><li>JOSE / [ML-DSA-65 (FIPS 204)][fips]\*</li></ul> |
100
-
101
- #### ISO mdoc
102
-
103
- - [ISO/IEC 18013-5:2021][iso5] standard for mdoc credentials in the following variations:
104
-
105
- | Standard | Supported representations | Supported proof/signature types |
106
- | -------------------- | ------------------------- | --------------------------------------------------------------------------------- |
107
- | ISO/IEC 18013-5:2021 | mdoc | <ul><li>COSE / ECDSA [ES256][es2]</li><li>COSE / EdDSA [Ed25519][ed255]</li></ul> |
108
-
109
- #### W3C VC
110
-
111
- - [W3C Verifiable Credentials Data Model 2.0][vcdm] in the following variations:
112
-
113
- | Securing mechanism | Supported representations | Supported proof/signature types |
114
- | -------------------------------------------- | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
115
- | [W3C Data Integrity Proofs][vcdi] (embedded) | [JSON-LD][jld] in Compacted Document Form | <ul><li>[W3C Data Integrity ECDSA Cryptosuites v1.0][ecd] / [ecdsa-rdfc-2019][ecd2019]</li><li>[W3C Data Integrity EdDSA Cryptosuites v1.0][edd] / [eddsa-rdfc-2022][edd2022]</li><li>[W3C Data Integrity BBS Cryptosuites v1.0][bbs] / [bbs-2023][bbs2023]</li></ul> |
116
- | [W3C VC-JOSE-COSE][jose] (enveloping) | <ul><li>[SD-JWT][sdjwt]</li><li>[JWT][jw]</li></ul> | <ul><li>JOSE / ECDSA [ES256][es2]</li><li>JOSE / EdDSA [Ed25519][ed255]</li><li>JOSE / [ML-DSA-65 (FIPS 204)][fips]\*</li></ul> |
117
-
118
- - **Backwards compatibility**: Procivis One supports verification of proofs which use VCDM 1.1.
119
-
120
- ### Exchange and transport
121
-
122
- - OpenID4VCI (Issuance)
123
- - [v1.0][vci1]
124
- - OpenID4VP (Verification)
125
- - [v1.0][vp1.0]
126
- - [Draft 25][vp25]
127
- - [Draft 20][vp20]
128
- - [OID4VP over BLE][ble]; optimized version of Draft 00
129
- - OID4VP over MQTT; proprietary adaptation of "OID4VP over BLE" via MQTT channel
130
- - ISO/IEC 18013 (Verification)
131
- - [18013-5][iso5]: Device engagement using either NFC or QR Code, data retrieval using BLE
132
- - [18013-7 Annex B][iso7]: Online data retrieval via OID4VP
133
-
134
- ### Key storage
135
-
136
- - Secure Enclave (iOS) and Android Keystore (TEE or Strongbox)
137
- - Internal encrypted database
138
-
139
- ### Revocation methods
140
-
141
- - [Bitstring Status List v1.0][sl]
142
- - [Token Status List - Draft 03][tsl]
143
- - [Certificate Revocation List][crl]
89
+ ## Standards and technologies
90
+
91
+ | Category | Supported |
92
+ | -------- | --------- |
93
+ | Credential formats | SD-JWT VC, ISO mdoc, W3C VC |
94
+ | Issuance protocol | OpenID4VCI |
95
+ | Presentation protocols | OpenID4VP, ISO/IEC 18013-5, ISO/IEC 18013-7 |
96
+ | Transport and engagement | BLE, MQTT, NFC, QR code |
97
+ | Revocation | Bitstring Status List, Token Status List, CRL |
98
+ | Key storage | Secure Enclave, Android Keystore, Azure Key Vault, HSM, internal database |
99
+ | DID methods | did\:key, did\:web, did\:jwk, did\:webvh |
100
+ | Trust infrastructure | ETSI Trusted Lists, Lists of Trusted Lists (LoTL), and Lists of Trusted Entities (LoTE), EUDI Access and Registration Certificates |
101
+ | Cryptographic suites | ES256, Ed25519, ML-DSA-65, BBS |
102
+ | Wallet attestations | Wallet Unit Attestation (WUA) and Wallet Instance Attestation (WIA) |
103
+
104
+ For the full list of supported standards, specifications, protocol versions, and
105
+ ETSI coverage, see the [Supported Standards and Technologies][supptech] page in
106
+ the Procivis One documentation.
144
107
 
145
108
  ## Support
146
109
 
@@ -160,44 +123,15 @@ Version 2.0](./LICENSE).
160
123
  © Procivis AG, [https://www.procivis.ch](https://www.procivis.ch).
161
124
 
162
125
  [archi]: https://github.com/procivis#architecture
163
- [bbs]: https://www.w3.org/TR/vc-di-bbs/
164
- [bbs2023]: https://www.w3.org/TR/vc-di-bbs/#bbs-2023
165
- [ble]: https://openid.net/specs/openid-4-verifiable-presentations-over-ble-1_0.html
166
126
  [canivc]: https://canivc.com/implementations/procivis-one-core/
167
127
  [comp]: https://github.com/procivis/one-react-native-components
168
128
  [core]: https://github.com/procivis/one-core
169
- [cose]: https://www.rfc-editor.org/rfc/rfc9052
170
- [crl]: https://www.ietf.org/rfc/rfc5280.txt
171
129
  [docs]: https://docs.procivis.ch/
172
- [ecd]: https://www.w3.org/TR/vc-di-ecdsa/
173
- [ecd2019]: https://www.w3.org/TR/vc-di-ecdsa/#ecdsa-rdfc-2019
174
- [edd]: https://www.w3.org/TR/vc-di-eddsa/
175
- [edd2022]: https://www.w3.org/TR/vc-di-eddsa/#eddsa-rdfc-2022
176
- [ed255]: https://datatracker.ietf.org/doc/html/rfc8037
177
- [es2]: https://datatracker.ietf.org/doc/html/rfc7518
178
130
  [eudiwi]: https://issuer.eudiw.dev/
179
131
  [eudiwv]: https://verifier.eudiw.dev/home
180
- [fips]: https://csrc.nist.gov/pubs/fips/204/final
181
- [iso5]: https://www.iso.org/standard/69084.html
182
- [iso7]: https://www.iso.org/standard/82772.html
183
- [jld]: https://www.w3.org/TR/json-ld11/
184
- [jose]: https://w3c.github.io/vc-jose-cose/
185
- [jw]: https://datatracker.ietf.org/doc/html/rfc7519
186
132
  [key]: https://github.com/procivis#key-features
187
133
  [lvvc]: https://eprint.iacr.org/2022/1658.pdf
188
134
  [owf]: https://github.com/openwallet-foundation-labs/identity-credential
189
135
  [pow]: https://github.com/procivis/one-wallet
190
- [pqc]: https://csrc.nist.gov/pqc-standardization
191
- [rncore]: https://github.com/procivis/react-native-one-core
192
- [sdjwt]: https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-12.html
193
- [sdjwtvc]: https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-05.html
194
136
  [sdkref]: https://docs.procivis.ch/sdk
195
- [sl]: https://www.w3.org/TR/vc-bitstring-status-list/
196
137
  [trial]: https://docs.procivis.ch/trial
197
- [tsl]: https://datatracker.ietf.org/doc/html/draft-ietf-oauth-status-list-03
198
- [vcdi]: https://www.w3.org/TR/vc-data-integrity/
199
- [vcdm]: https://www.w3.org/TR/vc-data-model-2.0/
200
- [vci1]: https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html
201
- [vp1.0]: https://openid.net/specs/openid-4-verifiable-presentations-1_0-final.html
202
- [vp20]: https://openid.net/specs/openid-4-verifiable-presentations-1_0-20.html
203
- [vp25]: https://openid.net/specs/openid-4-verifiable-presentations-1_0-25.html
@@ -138,6 +138,14 @@ 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
+
141
149
  @ReactMethod
142
150
  fun generateKey(keyRequest: ReadableMap, promise: Promise) {
143
151
  asyncCall(promise, scope) {
@@ -404,6 +412,14 @@ class ProcivisOneCoreModule(reactContext: ReactApplicationContext) :
404
412
  }
405
413
  }
406
414
 
415
+ @ReactMethod
416
+ fun holderGetTransactionData(proofId: String, transactionDataId: String, promise: Promise) {
417
+ asyncCall(promise, scope) {
418
+ val transactionData = getCore().holderGetTransactionData(proofId, transactionDataId)
419
+ return@asyncCall convertToRN(transactionData)
420
+ }
421
+ }
422
+
407
423
  @ReactMethod
408
424
  fun listProofs(query: ReadableMap, promise: Promise) {
409
425
  asyncCall(promise, scope) {
@@ -572,73 +588,33 @@ class ProcivisOneCoreModule(reactContext: ReactApplicationContext) :
572
588
  }
573
589
 
574
590
  @ReactMethod
575
- fun holderRegisterWalletUnit(request: ReadableMap, promise: Promise) {
576
- asyncCall(promise, scope) {
577
- val result = getCore().holderRegisterWalletUnit(construct(request))
578
- return@asyncCall convertToRN(result)
579
- }
580
- }
581
-
582
- @ReactMethod
583
- fun holderActivateWalletUnit(id: String, request: ReadableMap, promise: Promise) {
584
- asyncCall(promise, scope) {
585
- getCore().holderActivateWalletUnit(id, construct(request))
586
- return@asyncCall null
587
- }
588
- }
589
-
590
- @ReactMethod
591
- fun holderWalletUnitStatus(walletUnitId: String, promise: Promise) {
592
- asyncCall(promise, scope) {
593
- getCore().holderWalletUnitStatus(walletUnitId)
594
- return@asyncCall null
595
- }
596
- }
597
-
598
- @ReactMethod
599
- fun holderWalletUnitUpdate(walletUnitId: String, request: ReadableMap, promise: Promise) {
600
- asyncCall(promise, scope) {
601
- getCore().holderWalletUnitUpdate(walletUnitId, construct(request))
602
- return@asyncCall null
603
- }
604
- }
605
-
606
- @ReactMethod
607
- fun holderGetWalletUnit(walletUnitId: String, promise: Promise) {
608
- asyncCall(promise, scope) {
609
- val result = getCore().holderGetWalletUnit(walletUnitId)
610
- return@asyncCall convertToRN(result)
611
- }
612
- }
613
-
614
- @ReactMethod
615
- fun holderGetWalletUnitTrustCollections(walletUnitId: String, promise: Promise) {
591
+ fun holderRegisterInstance(request: ReadableMap, promise: Promise) {
616
592
  asyncCall(promise, scope) {
617
- val result = getCore().holderGetWalletUnitTrustCollections(walletUnitId)
593
+ val result = getCore().holderRegisterInstance(construct(request))
618
594
  return@asyncCall convertToRN(result)
619
595
  }
620
596
  }
621
597
 
622
598
  @ReactMethod
623
- fun registerVerifierInstance(request: ReadableMap, promise: Promise) {
599
+ fun holderActivateInstance(id: String, request: ReadableMap, promise: Promise) {
624
600
  asyncCall(promise, scope) {
625
- val result = getCore().registerVerifierInstance(construct(request))
601
+ val result = getCore().holderActivateInstance(id, construct(request))
626
602
  return@asyncCall convertToRN(result)
627
603
  }
628
604
  }
629
605
 
630
606
  @ReactMethod
631
- fun updateVerifierInstance(verifierInstanceId: String, request: ReadableMap, promise: Promise) {
607
+ fun holderInstanceStatus(id: String, promise: Promise) {
632
608
  asyncCall(promise, scope) {
633
- getCore().updateVerifierInstance(verifierInstanceId, construct(request))
609
+ getCore().holderInstanceStatus(id)
634
610
  return@asyncCall null
635
611
  }
636
612
  }
637
613
 
638
614
  @ReactMethod
639
- fun getVerifierInstanceTrustCollections(verifierInstanceId: String, promise: Promise) {
615
+ fun holderGetInstance(id: String, promise: Promise) {
640
616
  asyncCall(promise, scope) {
641
- val result = getCore().getVerifierInstanceTrustCollections(verifierInstanceId)
617
+ val result = getCore().holderGetInstance(id)
642
618
  return@asyncCall convertToRN(result)
643
619
  }
644
620
  }
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/115411/android/onecore-debug.aar",
5
- "sha1": "3a464c4b0bc9fbed7a483182b5d7c3690e894f32"
4
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/android/onecore-debug.aar",
5
+ "sha1": "ff7e6e928cc3b0c3865c2a966e210a86023310a4"
6
6
  },
7
7
  "release": {
8
- "url": "https://onesdk.blob.core.windows.net/core-sdk/115411/android/onecore-release.aar",
9
- "sha1": "d8cefb412ab7e60787e07045dbc03eed24b5f60d"
8
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/android/onecore-release.aar",
9
+ "sha1": "f9c2489cfedeea5546ad37e6806d6ec013534a99"
10
10
  }
11
11
  },
12
12
  "ios": {
13
- "url": "https://onesdk.blob.core.windows.net/core-sdk/115411/ios/deploy.zip",
14
- "sha1": "761d84678950a56b91d6bf8e5cd55867b076e4e8"
13
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/119306/ios/deploy.zip",
14
+ "sha1": "aca46be28fe64660882327d62a3200bd17339b2a"
15
15
  }
16
16
  }
@@ -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", "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", "listProofs", "deleteProof", "proposeProof", "qesAuthorize", "qesSign", "createProofSchema", "listProofSchemas", "getProofSchema", "deleteProofSchema", "importProofSchema", "checkRevocation", "listHistory", "getHistoryEntry", "createBackup", "backupInfo", "deleteCache", "unpackBackup", "finalizeImport", "rollbackImport", "resolveJsonldContext", "holderRegisterWalletUnit", "holderActivateWalletUnit", "holderWalletUnitStatus", "holderGetWalletUnit", "holderWalletUnitUpdate", "holderGetWalletUnitTrustCollections", "registerVerifierInstance", "updateVerifierInstance", "getVerifierInstanceTrustCollections", "nfcReadIsoMdlEngagement", "nfcStopIsoMdlEngagement", "uninitialize"];
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"];
package/dist/src/core.js CHANGED
@@ -10,6 +10,7 @@ export const interfaceMethodNames = [
10
10
  "createOrganisation",
11
11
  "upsertOrganisation",
12
12
  "getOrganisation",
13
+ "getOrganisationTrustCollections",
13
14
  "generateKey",
14
15
  "createDid",
15
16
  "listDids",
@@ -43,6 +44,7 @@ export const interfaceMethodNames = [
43
44
  "shareCredentialSchema",
44
45
  "getProof",
45
46
  "getProofTrustInformation",
47
+ "holderGetTransactionData",
46
48
  "listProofs",
47
49
  "deleteProof",
48
50
  "proposeProof",
@@ -63,21 +65,16 @@ export const interfaceMethodNames = [
63
65
  "finalizeImport",
64
66
  "rollbackImport",
65
67
  "resolveJsonldContext",
66
- "holderRegisterWalletUnit",
67
- "holderActivateWalletUnit",
68
- "holderWalletUnitStatus",
69
- "holderGetWalletUnit",
70
- "holderWalletUnitUpdate",
71
- "holderGetWalletUnitTrustCollections",
72
- "registerVerifierInstance",
73
- "updateVerifierInstance",
74
- "getVerifierInstanceTrustCollections",
68
+ "holderRegisterInstance",
69
+ "holderActivateInstance",
70
+ "holderInstanceStatus",
71
+ "holderGetInstance",
75
72
  "nfcReadIsoMdlEngagement",
76
73
  "nfcStopIsoMdlEngagement",
77
74
  "uninitialize",
78
75
  ];
79
76
  // Typescript automatic assertions to keep ONECore and interfaceMethodNames in sync
80
77
  /** assert that all method names listed in {@link interfaceMethodNames} exist in {@link ONECore} interface */
81
- const methodNamesCheck = interfaceMethodNames;
78
+ const missingMethodsCheck = interfaceMethodNames;
82
79
  /** assert that all {@link ONECore} interface methods are listed in {@link interfaceMethodNames} */
83
- const interfaceMethodsCheck = null;
80
+ const extraMethodsCheck = null;
@@ -232,6 +232,8 @@ export interface CreateProofRequest {
232
232
  profile?: string;
233
233
  /** Use for ISO mDL verification over BLE. */
234
234
  engagement?: string;
235
+ /** Optional transaction data to request authorization for. */
236
+ transactionData?: Array<ProofRequestTransactionData>;
235
237
  }
236
238
  export interface CreateProofSchemaInput {
237
239
  credentialSchemaId: string;
@@ -355,6 +357,7 @@ export interface CredentialListItem {
355
357
  consumedAt?: string;
356
358
  type: CredentialType;
357
359
  parentId?: string;
360
+ redirectUri?: string;
358
361
  }
359
362
  export interface CredentialListQuery {
360
363
  /** Page number to retrieve (0-based indexing). */
@@ -876,73 +879,52 @@ export interface HolderAcceptCredentialRequest {
876
879
  /** User-provided transaction code. */
877
880
  txCode?: string;
878
881
  }
879
- export interface HolderActivateWalletUnitRequest {
882
+ export interface HolderActivateInstanceRequest {
880
883
  /** Key type for the authentication key generated during activation. */
881
884
  keyType: string;
882
885
  /** Identity token obtained from the identity provider after user authentication. */
883
886
  userIdToken?: string;
887
+ /** Access token obtained from the identity provider after user authentication. */
888
+ userAccessToken?: string;
889
+ }
890
+ export interface HolderActivateInstanceResponse {
891
+ /** IdentifierId with provisioned access certificate (if any) */
892
+ accessCertificateIdentifierId?: string;
893
+ }
894
+ export interface HolderInstance {
895
+ id: string;
896
+ createdDate: string;
897
+ lastModified: string;
898
+ role: InstanceRole;
899
+ providerInstanceId: string;
900
+ providerUrl: string;
901
+ providerType: InstanceProviderType;
902
+ providerName: string;
903
+ status: InstanceStatus;
904
+ authenticationKey?: KeyListItem;
905
+ userNonce?: string;
884
906
  }
885
907
  export interface HolderRefreshCredentialResponse {
886
908
  credentialIds: Array<string>;
887
909
  }
888
- export interface HolderRegisterWalletUnitRequest {
889
- /** The wallet unit's organization. */
910
+ export interface HolderRegisterInstanceRequest {
911
+ /** The instance's organization. */
890
912
  organisationId: string;
891
- /** Wallet Provider details. */
892
- walletProvider: WalletProvider;
913
+ /** Role of the instance being registered. */
914
+ role: InstanceRole;
915
+ /** Provider details. */
916
+ provider: InstanceProvider;
893
917
  /**
894
918
  * Choose a key type and the system will generate a key to use for
895
919
  * registration.
896
920
  */
897
921
  keyType: string;
898
- /**
899
- * When true, the wallet will only interact with entities that can be
900
- * verified as trusted. Requires the Wallet Provider to have the
901
- * `trustEcosystemsEnabled` feature flag enabled.
902
- */
903
- trustedRpRequired: boolean;
904
922
  }
905
- export interface HolderRegisterWalletUnitResponse {
923
+ export interface HolderRegisterInstanceResponse {
906
924
  id: string;
907
- status: WalletUnitStatus;
925
+ status: InstanceStatus;
908
926
  userNonce?: string;
909
927
  }
910
- export interface HolderWalletInstanceDetail {
911
- id: string;
912
- trustedRpRequired: boolean;
913
- walletProviderUrl: string;
914
- walletProviderName: string;
915
- authenticationKeyType: string;
916
- }
917
- export interface HolderWalletUnit {
918
- id: string;
919
- createdDate: string;
920
- lastModified: string;
921
- providerWalletUnitId: string;
922
- walletProviderUrl: string;
923
- walletProviderType: WalletProviderType;
924
- walletProviderName: string;
925
- status: WalletUnitStatus;
926
- authenticationKey?: KeyListItem;
927
- trustedRpRequired: boolean;
928
- userNonce?: string;
929
- }
930
- export interface HolderWalletUnitUpdateRequest {
931
- /**
932
- * The trust collections the wallet subscribes to, selected from those
933
- * made available by the Wallet Provider. The wallet will evaluate trust
934
- * against the lists contained in these collections. To keep subscribed
935
- * collections in sync with the Wallet Provider, run the
936
- * `TRUST_COLLECTION_SYNC` task.
937
- */
938
- trustCollections?: Array<string>;
939
- /**
940
- * When true, the wallet will only interact with entities that can be
941
- * verified as trusted. Requires the Wallet Provider to have the
942
- * `trustEcosystemsEnabled` feature flag enabled.
943
- */
944
- trustedRpRequired?: boolean;
945
- }
946
928
  export interface IdentifierDetail {
947
929
  id: string;
948
930
  createdDate: string;
@@ -1142,6 +1124,22 @@ export interface InitiateIssuanceRequest {
1142
1124
  export interface InitiateIssuanceResponse {
1143
1125
  url: string;
1144
1126
  }
1127
+ export interface InstanceDetail {
1128
+ id: string;
1129
+ providerUrl: string;
1130
+ providerName: string;
1131
+ authenticationKeyType: string;
1132
+ }
1133
+ export interface InstanceProvider {
1134
+ /**
1135
+ * Full URL for the GET provider metadata endpoint, for example:
1136
+ * <domain>/ssi/wallet-provider/v1/<provider> or
1137
+ * <domain>/ssi/verifier-provider/v1/<provider>
1138
+ */
1139
+ url: string;
1140
+ /** Choose the provider implementation. */
1141
+ type: InstanceProviderType;
1142
+ }
1145
1143
  export interface KeyDetail {
1146
1144
  id: string;
1147
1145
  createdDate: string;
@@ -1192,6 +1190,23 @@ export interface OpenId4vciTxCode {
1192
1190
  */
1193
1191
  description?: string;
1194
1192
  }
1193
+ export interface OrganisationConfiguration {
1194
+ /**
1195
+ * When true, the verifier will only validate presentations of
1196
+ * credentials issued by trusted issuers.
1197
+ */
1198
+ trustedIssuerRequired: boolean;
1199
+ /**
1200
+ * When true, the wallet only accepts presentation requests from
1201
+ * trusted relying parties.
1202
+ */
1203
+ trustedRpRequired: boolean;
1204
+ /**
1205
+ * When true, the issuer will only issue credentials requiring wallet
1206
+ * attestations to wallets of trusted wallet providers.
1207
+ */
1208
+ trustedWalletProviderRequired: boolean;
1209
+ }
1195
1210
  export interface OrganisationDetail {
1196
1211
  id: string;
1197
1212
  createdDate: string;
@@ -1202,17 +1217,20 @@ export interface OrganisationDetail {
1202
1217
  * configuration from, if any.
1203
1218
  */
1204
1219
  parentOrganisation?: string;
1220
+ /** Policy-level configuration for this organization. */
1221
+ configuration?: OrganisationConfiguration;
1205
1222
  walletProvider?: WalletProviderDetail;
1223
+ verifierProvider?: VerifierProviderDetail;
1206
1224
  /**
1207
1225
  * Wallet registration details for this organization's Business
1208
1226
  * Wallet.
1209
1227
  */
1210
- walletInstance?: HolderWalletInstanceDetail;
1228
+ walletInstance?: InstanceDetail;
1211
1229
  /**
1212
- * Wallet registration details for this organization's Business
1213
- * Wallet.
1230
+ * Verifier registration details for this organization's Business
1231
+ * Verifier.
1214
1232
  */
1215
- verifierInstance?: VerifierInstanceDetail;
1233
+ verifierInstance?: InstanceDetail;
1216
1234
  }
1217
1235
  export interface PeripheralDiscoveryData {
1218
1236
  deviceAddress: string;
@@ -1220,9 +1238,15 @@ export interface PeripheralDiscoveryData {
1220
1238
  advertisedServices: Array<string>;
1221
1239
  advertisedServiceData?: Record<string, number[]>;
1222
1240
  }
1241
+ export interface PresentationDefinitionTransactionData {
1242
+ id: string;
1243
+ type: string;
1244
+ credentialQueryIds: Array<string>;
1245
+ }
1223
1246
  export interface PresentationDefinitionV2 {
1224
1247
  credentialQueries: Record<string, CredentialQuery>;
1225
1248
  credentialSets: Array<CredentialSet>;
1249
+ transactionData: Array<PresentationDefinitionTransactionData>;
1226
1250
  }
1227
1251
  export interface PresentationDefinitionV2Claim {
1228
1252
  path: string;
@@ -1267,7 +1291,14 @@ export interface PresentationSubmitV2CredentialRequest {
1267
1291
  * holder selects. Omit entirely or use an empty array if withholding all
1268
1292
  * optional claims.
1269
1293
  */
1270
- userSelections: Array<string>;
1294
+ userSelections?: Array<string>;
1295
+ /**
1296
+ * Optional ids of transaction-data entries to bind to this credential.
1297
+ * Entries not listed here are auto-assigned. Ids must reference transaction
1298
+ * data applicable to this credential. Omit entirely or use an empty array
1299
+ * to auto-assign all transaction data.
1300
+ */
1301
+ transactionDataIds?: Array<string>;
1271
1302
  }
1272
1303
  export interface ProofClaim {
1273
1304
  schema: ProofClaimSchema;
@@ -1322,6 +1353,8 @@ export interface ProofDetail {
1322
1353
  profile?: string;
1323
1354
  /** Trust information of the verifier, if any. */
1324
1355
  trustInformation?: TrustInformation;
1356
+ /** Transaction data attached to this proof request. Present only if the proof role is `VERIFIER`. */
1357
+ transactionData?: Array<TransactionDataResponse>;
1325
1358
  }
1326
1359
  export interface ProofInput {
1327
1360
  /** Set of claims asserted by the shared credential. */
@@ -1367,6 +1400,7 @@ export interface ProofListItem {
1367
1400
  retainUntilDate?: string;
1368
1401
  /** Country profile associated with this request. */
1369
1402
  profile?: string;
1403
+ redirectUri?: string;
1370
1404
  }
1371
1405
  export interface ProofListQuery {
1372
1406
  /** Page number to retrieve (0-based indexing). */
@@ -1437,6 +1471,18 @@ export interface ProofListQuery {
1437
1471
  */
1438
1472
  completedDateBefore?: string;
1439
1473
  }
1474
+ /** Transaction data to include in a proof request. */
1475
+ export interface ProofRequestTransactionData {
1476
+ /** The transaction data provider to use. */
1477
+ type: string;
1478
+ /**
1479
+ * The credential schemas (of the given proof schema) the transaction data
1480
+ * applies to.
1481
+ */
1482
+ credentialSchemaIds: Array<string>;
1483
+ /** Type-specific transaction data content, encoded as a JSON string. */
1484
+ data?: string;
1485
+ }
1440
1486
  export interface ProofSchemaDetail {
1441
1487
  id: string;
1442
1488
  createdDate: string;
@@ -1493,6 +1539,21 @@ export interface ProofSchemaListQuery {
1493
1539
  export interface ProofSchemaShareResponse {
1494
1540
  url: string;
1495
1541
  }
1542
+ /** Details of a single (holder-side) transaction data entry of a proof request. */
1543
+ export interface ProofTransactionData {
1544
+ id: string;
1545
+ /** The transaction data provider that validated this entry. */
1546
+ type: string;
1547
+ /** Credential query ids the transaction data is bound to. */
1548
+ credentialQueryIds: Array<string>;
1549
+ /** Grouped key-value data for displaying the transaction to the user. */
1550
+ transactionDataDisplay: Array<TransactionDataDisplay>;
1551
+ /**
1552
+ * The raw transaction data received from the verifier, encoded as a JSON
1553
+ * string.
1554
+ */
1555
+ rawTransactionData?: string;
1556
+ }
1496
1557
  export interface ProposeProofRequest {
1497
1558
  protocol: string;
1498
1559
  organisationId: string;
@@ -1549,24 +1610,6 @@ export interface QesSignResponse {
1549
1610
  /** Base64-encoded signed document returned by the QES provider. */
1550
1611
  signedDocument: string;
1551
1612
  }
1552
- export interface RegisterVerifierInstanceRequest {
1553
- /** The verifier unit's organization. */
1554
- organisationId: string;
1555
- /** The Verifier Provider's reference URL. */
1556
- verifierProviderUrl: string;
1557
- /** Reference a configured `verifierProvider` instance. */
1558
- type: string;
1559
- /**
1560
- * When true, the verifier will only validate presentations of
1561
- * credentials issued by trusted issuers. Requires the Verifier
1562
- * Provider to have the `trustEcosystemsEnabled` feature flag
1563
- * enabled.
1564
- */
1565
- trustedIssuerRequired: boolean;
1566
- }
1567
- export interface RegisterVerifierInstanceResponse {
1568
- id: string;
1569
- }
1570
1613
  export interface ResolvedJsonLdContext {
1571
1614
  context: string;
1572
1615
  }
@@ -1591,18 +1634,32 @@ export interface ShareProofResponse {
1591
1634
  url: string;
1592
1635
  expiresAt?: string;
1593
1636
  }
1637
+ export interface TransactionDataDisplay {
1638
+ title: string;
1639
+ attributes: Array<TransactionDataDisplayAttribute>;
1640
+ }
1641
+ export interface TransactionDataDisplayAttribute {
1642
+ key: string;
1643
+ value: string;
1644
+ }
1645
+ /** Transaction data attached to a proof request. */
1646
+ export interface TransactionDataResponse {
1647
+ /** The transaction data provider used. */
1648
+ type: string;
1649
+ /** The credential schemas the transaction data applies to. */
1650
+ credentialSchemaIds: Array<string>;
1651
+ /** Type-specific transaction data content, encoded as a JSON string. */
1652
+ data?: string;
1653
+ }
1594
1654
  export interface TrustCollectionInfo {
1595
- /** When true, the wallet is subscribed to this trust collection. */
1655
+ /** When true, the organization is subscribed to this trust collection. */
1596
1656
  selected: boolean;
1597
1657
  id: string;
1598
1658
  name: string;
1599
1659
  logo: string;
1600
1660
  displayName: Array<DisplayName>;
1601
1661
  description: Array<DisplayName>;
1602
- }
1603
- export interface TrustCollections {
1604
- /** Trust collections available from the Wallet Provider. */
1605
- trustCollections: Array<TrustCollectionInfo>;
1662
+ defaultSelected?: boolean;
1606
1663
  }
1607
1664
  export interface TrustInformation {
1608
1665
  receivedAt: string;
@@ -1629,22 +1686,22 @@ export interface UnexportableEntities {
1629
1686
  totalDids: number;
1630
1687
  totalIdentifiers: number;
1631
1688
  }
1632
- export interface UpdateVerifierInstanceRequest {
1633
- /**
1634
- * The trust collections the verifier subscribes to, selected from
1635
- * those made available by the Verifier Provider. The verifier will
1636
- * evaluate trust against the lists contained in these collections.
1637
- * To keep subscribed collections in sync with the Verifier Provider,
1638
- * run the `TRUST_COLLECTION_SYNC` task.
1639
- */
1640
- trustCollections?: Array<string>;
1689
+ export interface UpsertOrganisationConfiguration {
1641
1690
  /**
1642
1691
  * When true, the verifier will only validate presentations of
1643
- * credentials issued by trusted issuers. Requires the Verifier
1644
- * Provider to have the `trustEcosystemsEnabled` feature flag
1645
- * enabled.
1692
+ * credentials issued by trusted issuers.
1646
1693
  */
1647
1694
  trustedIssuerRequired?: boolean;
1695
+ /**
1696
+ * When true, the wallet only accepts presentation requests from
1697
+ * trusted relying parties.
1698
+ */
1699
+ trustedRpRequired?: boolean;
1700
+ /**
1701
+ * When true, the issuer will only issue credentials requiring wallet
1702
+ * attestations to wallets of trusted wallet providers.
1703
+ */
1704
+ trustedWalletProviderRequired?: boolean;
1648
1705
  }
1649
1706
  export interface UpsertOrganisationRequest {
1650
1707
  /** Unique identifier of the organization to create or update. */
@@ -1655,21 +1712,32 @@ export interface UpsertOrganisationRequest {
1655
1712
  walletProvider?: string | null;
1656
1713
  /** Wallet Provider use only. */
1657
1714
  walletProviderIssuer?: string | null;
1715
+ /** Verifier Provider use only. */
1716
+ verifierProvider?: string | null;
1717
+ /** Verifier Provider use only. */
1718
+ verifierProviderIssuer?: string | null;
1719
+ /** Policy-level configuration for this organization. */
1720
+ configuration?: UpsertOrganisationConfiguration;
1721
+ /**
1722
+ * The trust collections this organization's wallet subscribes to,
1723
+ * selected from those made available by the Wallet Provider. Omit to
1724
+ * leave the current selection unchanged.
1725
+ */
1726
+ trustCollections?: Array<string>;
1658
1727
  /**
1659
1728
  * The parent organization this organization inherits policy-level
1660
1729
  * configuration from, if any.
1661
1730
  */
1662
1731
  parentOrganisation?: string | null;
1663
1732
  }
1664
- export interface VerifierInstanceDetail {
1665
- id: string;
1733
+ export interface VerifierProviderDetail {
1734
+ /** Verifier Provider configuration used by this organization. */
1735
+ providerName?: string;
1666
1736
  /**
1667
- * When true, the verifier will only validate presentations of
1668
- * credentials issued by trusted issuers. Requires the Verifier
1669
- * Provider to have the `trustEcosystemsEnabled` feature flag
1670
- * enabled.
1737
+ * Identifier used by this organization to authenticate to the
1738
+ * verifier provider.
1671
1739
  */
1672
- trustedIssuerRequired: boolean;
1740
+ issuer?: IdentifierListItem;
1673
1741
  }
1674
1742
  export interface Version {
1675
1743
  target: string;
@@ -1680,15 +1748,6 @@ export interface Version {
1680
1748
  rustVersion: string;
1681
1749
  pipelineId: string;
1682
1750
  }
1683
- export interface WalletProvider {
1684
- /**
1685
- * Full URL for the GET Wallet Provider metadata endpoint,
1686
- * for example: <domain>/ssi/wallet-provider/v1/<walletProvider>
1687
- */
1688
- url: string;
1689
- /** Choose the Wallet Provider implementation. */
1690
- type: WalletProviderType;
1691
- }
1692
1751
  export interface WalletProviderDetail {
1693
1752
  /**
1694
1753
  * Wallet Provider configuration used by this organization to provide
@@ -1998,7 +2057,6 @@ export declare enum HistoryEntityType {
1998
2057
  TRUST_LIST_PUBLICATION = "TRUST_LIST_PUBLICATION",
1999
2058
  TRUST_COLLECTION = "TRUST_COLLECTION",
2000
2059
  TRUST_LIST_SUBSCRIPTION = "TRUST_LIST_SUBSCRIPTION",
2001
- VERIFIER_INSTANCE = "VERIFIER_INSTANCE",
2002
2060
  QES_DOCUMENT = "QES_DOCUMENT"
2003
2061
  }
2004
2062
  export type HistoryMetadata = {
@@ -2044,6 +2102,20 @@ export declare enum IdentifierType {
2044
2102
  CERTIFICATE = "CERTIFICATE",
2045
2103
  CERTIFICATE_AUTHORITY = "CERTIFICATE_AUTHORITY"
2046
2104
  }
2105
+ export declare enum InstanceProviderType {
2106
+ PROCIVIS_ONE = "PROCIVIS_ONE"
2107
+ }
2108
+ export declare enum InstanceRole {
2109
+ WALLET = "WALLET",
2110
+ VERIFIER = "VERIFIER"
2111
+ }
2112
+ export declare enum InstanceStatus {
2113
+ PENDING = "PENDING",
2114
+ ACTIVE = "ACTIVE",
2115
+ REVOKED = "REVOKED",
2116
+ UNATTESTED = "UNATTESTED",
2117
+ ERROR = "ERROR"
2118
+ }
2047
2119
  export declare enum KeyRole {
2048
2120
  AUTHENTICATION = "AUTHENTICATION",
2049
2121
  ASSERTION_METHOD = "ASSERTION_METHOD",
@@ -2196,16 +2268,6 @@ export declare enum TrustResolutionResult {
2196
2268
  UNTRUSTED = "UNTRUSTED",
2197
2269
  UNKNOWN = "UNKNOWN"
2198
2270
  }
2199
- export declare enum WalletProviderType {
2200
- PROCIVIS_ONE = "PROCIVIS_ONE"
2201
- }
2202
- export declare enum WalletUnitStatus {
2203
- PENDING = "PENDING",
2204
- ACTIVE = "ACTIVE",
2205
- REVOKED = "REVOKED",
2206
- UNATTESTED = "UNATTESTED",
2207
- ERROR = "ERROR"
2208
- }
2209
2271
  export interface BleCentral {
2210
2272
  connect(peripheral: string): Promise<number>;
2211
2273
  disconnect(peripheral: string): Promise<void>;
@@ -2386,6 +2448,7 @@ export interface OneCore {
2386
2448
  getIdentifier(id: string): Promise<IdentifierDetail>;
2387
2449
  /** Returns details of an existing organization. */
2388
2450
  getOrganisation(id: string): Promise<OrganisationDetail>;
2451
+ getOrganisationTrustCollections(id: string): Promise<Array<TrustCollectionInfo>>;
2389
2452
  getPresentationDefinitionV2(proofId: string): Promise<PresentationDefinitionV2>;
2390
2453
  /** Returns detailed information about a proof request. */
2391
2454
  getProof(proofId: string): Promise<ProofDetail>;
@@ -2395,8 +2458,6 @@ export interface OneCore {
2395
2458
  * proof request.
2396
2459
  */
2397
2460
  getProofTrustInformation(proofId: string): Promise<TrustInformationDetail>;
2398
- /** Returns trust collections curated by the Verifier Provider. */
2399
- getVerifierInstanceTrustCollections(id: string): Promise<TrustCollections>;
2400
2461
  /**
2401
2462
  * For a wallet, handles the interaction once the wallet connects to a share
2402
2463
  * endpoint URL (for example, scans the QR code of an offered credential or
@@ -2409,16 +2470,26 @@ export interface OneCore {
2409
2470
  * you can specify an existing identifier.
2410
2471
  */
2411
2472
  holderAcceptCredential(request: HolderAcceptCredentialRequest): Promise<string>;
2412
- /** Activates the wallet instance with the Wallet Provider after user authentication. */
2413
- holderActivateWalletUnit(id: string, request: HolderActivateWalletUnitRequest): Promise<void>;
2414
- /** Returns wallet registration details from the Wallet Provider. */
2415
- holderGetWalletUnit(id: string): Promise<HolderWalletUnit>;
2416
- /** Returns trust collections curated by the Wallet Provider. */
2417
- holderGetWalletUnitTrustCollections(id: string): Promise<TrustCollections>;
2473
+ /** Activates the instance with the provider after user authentication. */
2474
+ holderActivateInstance(id: string, request: HolderActivateInstanceRequest): Promise<HolderActivateInstanceResponse>;
2475
+ /** Returns instance registration details from the provider. */
2476
+ holderGetInstance(id: string): Promise<HolderInstance>;
2477
+ /**
2478
+ * For wallets; returns the details of a single transaction data entry of a
2479
+ * proof request, including human-readable display data and the raw
2480
+ * transaction data received from the verifier. The `transactionDataId` is
2481
+ * obtained from `getPresentationDefinitionv2`.
2482
+ */
2483
+ holderGetTransactionData(proofId: string, transactionDataId: string): Promise<ProofTransactionData>;
2484
+ /**
2485
+ * Check status of the instance with the provider. Will return an error
2486
+ * if the instance has been revoked.
2487
+ */
2488
+ holderInstanceStatus(id: string): Promise<void>;
2418
2489
  /** Receive a new credential batch */
2419
2490
  holderRefreshCredential(interactionId: string): Promise<HolderRefreshCredentialResponse>;
2420
- /** Registers the wallet unit with a Wallet Provider. */
2421
- holderRegisterWalletUnit(request: HolderRegisterWalletUnitRequest): Promise<HolderRegisterWalletUnitResponse>;
2491
+ /** Registers the instance with a Wallet or Verifier Provider. */
2492
+ holderRegisterInstance(request: HolderRegisterInstanceRequest): Promise<HolderRegisterInstanceResponse>;
2422
2493
  /** Rejects an offered credential. */
2423
2494
  holderRejectCredential(interactionId: string): Promise<void>;
2424
2495
  /** Rejects a proof request. */
@@ -2428,13 +2499,6 @@ export interface OneCore {
2428
2499
  * be used after `getPresentationDefinitionv2`.
2429
2500
  */
2430
2501
  holderSubmitProofV2(interactionId: string, submission: Record<string, Array<PresentationSubmitV2CredentialRequest>>): Promise<void>;
2431
- /**
2432
- * Check status of wallet unit with the Wallet Provider. Will return an error
2433
- * if the unit has been revoked.
2434
- */
2435
- holderWalletUnitStatus(id: string): Promise<void>;
2436
- /** Modifies wallet unit's settings. */
2437
- holderWalletUnitUpdate(id: string, request: HolderWalletUnitUpdateRequest): Promise<void>;
2438
2502
  /**
2439
2503
  * Imports a credential schema shared from another mobile verifier device
2440
2504
  * using the one-core.
@@ -2479,8 +2543,6 @@ export interface OneCore {
2479
2543
  * from `qesAuthorize` for a signed document.
2480
2544
  */
2481
2545
  qesSign(request: QesSignRequest): Promise<QesSignResponse>;
2482
- /** Registers the verifier unit with a Verifier Provider. */
2483
- registerVerifierInstance(request: RegisterVerifierInstanceRequest): Promise<RegisterVerifierInstanceResponse>;
2484
2546
  /**
2485
2547
  * Returns the JSON-LD context document for a given URI. This is a
2486
2548
  * [cached entity](https://docs.procivis.ch/configure/caching).
@@ -2515,8 +2577,6 @@ export interface OneCore {
2515
2577
  * Follow by calling either `finalizeImport` or `rollbackImport`.
2516
2578
  */
2517
2579
  unpackBackup(password: string, inputPath: string): Promise<Metadata>;
2518
- /** Modifies verifier unit's settings. */
2519
- updateVerifierInstance(id: string, request: UpdateVerifierInstanceRequest): Promise<void>;
2520
2580
  /**
2521
2581
  * Updates or deactivates an organization if it exists, otherwise
2522
2582
  * creates a new organization using the provided UUID and name.
@@ -207,7 +207,6 @@ export var HistoryEntityType;
207
207
  HistoryEntityType["TRUST_LIST_PUBLICATION"] = "TRUST_LIST_PUBLICATION";
208
208
  HistoryEntityType["TRUST_COLLECTION"] = "TRUST_COLLECTION";
209
209
  HistoryEntityType["TRUST_LIST_SUBSCRIPTION"] = "TRUST_LIST_SUBSCRIPTION";
210
- HistoryEntityType["VERIFIER_INSTANCE"] = "VERIFIER_INSTANCE";
211
210
  HistoryEntityType["QES_DOCUMENT"] = "QES_DOCUMENT";
212
211
  })(HistoryEntityType || (HistoryEntityType = {}));
213
212
  export var HistorySearchType;
@@ -242,6 +241,23 @@ export var IdentifierType;
242
241
  IdentifierType["CERTIFICATE"] = "CERTIFICATE";
243
242
  IdentifierType["CERTIFICATE_AUTHORITY"] = "CERTIFICATE_AUTHORITY";
244
243
  })(IdentifierType || (IdentifierType = {}));
244
+ export var InstanceProviderType;
245
+ (function (InstanceProviderType) {
246
+ InstanceProviderType["PROCIVIS_ONE"] = "PROCIVIS_ONE";
247
+ })(InstanceProviderType || (InstanceProviderType = {}));
248
+ export var InstanceRole;
249
+ (function (InstanceRole) {
250
+ InstanceRole["WALLET"] = "WALLET";
251
+ InstanceRole["VERIFIER"] = "VERIFIER";
252
+ })(InstanceRole || (InstanceRole = {}));
253
+ export var InstanceStatus;
254
+ (function (InstanceStatus) {
255
+ InstanceStatus["PENDING"] = "PENDING";
256
+ InstanceStatus["ACTIVE"] = "ACTIVE";
257
+ InstanceStatus["REVOKED"] = "REVOKED";
258
+ InstanceStatus["UNATTESTED"] = "UNATTESTED";
259
+ InstanceStatus["ERROR"] = "ERROR";
260
+ })(InstanceStatus || (InstanceStatus = {}));
245
261
  export var KeyRole;
246
262
  (function (KeyRole) {
247
263
  KeyRole["AUTHENTICATION"] = "AUTHENTICATION";
@@ -357,15 +373,3 @@ export var TrustResolutionResult;
357
373
  TrustResolutionResult["UNTRUSTED"] = "UNTRUSTED";
358
374
  TrustResolutionResult["UNKNOWN"] = "UNKNOWN";
359
375
  })(TrustResolutionResult || (TrustResolutionResult = {}));
360
- export var WalletProviderType;
361
- (function (WalletProviderType) {
362
- WalletProviderType["PROCIVIS_ONE"] = "PROCIVIS_ONE";
363
- })(WalletProviderType || (WalletProviderType = {}));
364
- export var WalletUnitStatus;
365
- (function (WalletUnitStatus) {
366
- WalletUnitStatus["PENDING"] = "PENDING";
367
- WalletUnitStatus["ACTIVE"] = "ACTIVE";
368
- WalletUnitStatus["REVOKED"] = "REVOKED";
369
- WalletUnitStatus["UNATTESTED"] = "UNATTESTED";
370
- WalletUnitStatus["ERROR"] = "ERROR";
371
- })(WalletUnitStatus || (WalletUnitStatus = {}));
@@ -39,6 +39,10 @@ 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
+
42
46
  RCT_EXTERN_METHOD(generateKey:(NSDictionary *)keyRequest
43
47
  resolver:(RCTPromiseResolveBlock)resolve
44
48
  rejecter:(RCTPromiseRejectBlock)reject)
@@ -194,6 +198,11 @@ RCT_EXTERN_METHOD(getProofTrustInformation:(NSString *)proofId
194
198
  resolver:(RCTPromiseResolveBlock)resolve
195
199
  rejecter:(RCTPromiseRejectBlock)reject)
196
200
 
201
+ RCT_EXTERN_METHOD(holderGetTransactionData:(NSString *)proofId
202
+ transactionDataId:(NSString *)transactionDataId
203
+ resolver:(RCTPromiseResolveBlock)resolve
204
+ rejecter:(RCTPromiseRejectBlock)reject)
205
+
197
206
  RCT_EXTERN_METHOD(listProofs:(NSDictionary *)query
198
207
  resolver:(RCTPromiseResolveBlock)resolve
199
208
  rejecter:(RCTPromiseRejectBlock)reject)
@@ -250,42 +259,20 @@ RCT_EXTERN_METHOD(resolveJsonldContext:(NSString *)url
250
259
  resolver:(RCTPromiseResolveBlock)resolve
251
260
  rejecter:(RCTPromiseRejectBlock)reject)
252
261
 
253
- RCT_EXTERN_METHOD(holderRegisterWalletUnit:(NSDictionary *)request
262
+ RCT_EXTERN_METHOD(holderRegisterInstance:(NSDictionary *)request
254
263
  resolver:(RCTPromiseResolveBlock)resolve
255
264
  rejecter:(RCTPromiseRejectBlock)reject)
256
265
 
257
- RCT_EXTERN_METHOD(holderActivateWalletUnit:(NSString *)unitId
266
+ RCT_EXTERN_METHOD(holderActivateInstance:(NSString *)instanceId
258
267
  request:(NSDictionary *)request
259
268
  resolver:(RCTPromiseResolveBlock)resolve
260
269
  rejecter:(RCTPromiseRejectBlock)reject)
261
270
 
262
- RCT_EXTERN_METHOD(holderWalletUnitStatus:(NSString *)walletUnitId
263
- resolver:(RCTPromiseResolveBlock)resolve
264
- rejecter:(RCTPromiseRejectBlock)reject)
265
-
266
- RCT_EXTERN_METHOD(holderGetWalletUnit:(NSString *)walletUnitId
267
- resolver:(RCTPromiseResolveBlock)resolve
268
- rejecter:(RCTPromiseRejectBlock)reject)
269
-
270
- RCT_EXTERN_METHOD(holderWalletUnitUpdate:(NSString *)walletUnitId
271
- request:(NSDictionary *)request
272
- resolver:(RCTPromiseResolveBlock)resolve
273
- rejecter:(RCTPromiseRejectBlock)reject)
274
-
275
- RCT_EXTERN_METHOD(holderGetWalletUnitTrustCollections:(NSString *)walletUnitId
276
- resolver:(RCTPromiseResolveBlock)resolve
277
- rejecter:(RCTPromiseRejectBlock)reject)
278
-
279
- RCT_EXTERN_METHOD(registerVerifierInstance:(NSDictionary *)request
280
- resolver:(RCTPromiseResolveBlock)resolve
281
- rejecter:(RCTPromiseRejectBlock)reject)
282
-
283
- RCT_EXTERN_METHOD(updateVerifierInstance:(NSString *)verifierInstanceId
284
- request:(NSDictionary *)request
271
+ RCT_EXTERN_METHOD(holderInstanceStatus:(NSString *)instanceId
285
272
  resolver:(RCTPromiseResolveBlock)resolve
286
273
  rejecter:(RCTPromiseRejectBlock)reject)
287
274
 
288
- RCT_EXTERN_METHOD(getVerifierInstanceTrustCollections:(NSString *)verifierInstanceId
275
+ RCT_EXTERN_METHOD(holderGetInstance:(NSString *)instanceId
289
276
  resolver:(RCTPromiseResolveBlock)resolve
290
277
  rejecter:(RCTPromiseRejectBlock)reject)
291
278
 
@@ -592,6 +592,19 @@ class ProcivisOneCoreModule: RCTEventEmitter {
592
592
  }
593
593
  }
594
594
 
595
+ @objc(holderGetTransactionData:transactionDataId:resolver:rejecter:)
596
+ func holderGetTransactionData(
597
+ proofId: String,
598
+ transactionDataId: String,
599
+ resolve: @escaping RCTPromiseResolveBlock,
600
+ reject: @escaping RCTPromiseRejectBlock
601
+ ) {
602
+ asyncCall(resolve, reject) {
603
+ let result = try await self.getCore().holderGetTransactionData(proofId: proofId, transactionDataId: transactionDataId)
604
+ return try serializeAny(result)
605
+ }
606
+ }
607
+
595
608
  @objc(listProofs:resolver:rejecter:)
596
609
  func listProofs(
597
610
  query: NSDictionary,
@@ -775,113 +788,63 @@ class ProcivisOneCoreModule: RCTEventEmitter {
775
788
  }
776
789
  }
777
790
 
778
- @objc(holderRegisterWalletUnit:resolver:rejecter:)
779
- func holderRegisterWalletUnit(
791
+ @objc(holderRegisterInstance:resolver:rejecter:)
792
+ func holderRegisterInstance(
780
793
  request: NSDictionary,
781
794
  resolve: @escaping RCTPromiseResolveBlock,
782
795
  reject: @escaping RCTPromiseRejectBlock
783
796
  ) {
784
797
  asyncCall(resolve, reject) {
785
- let result = try await self.getCore().holderRegisterWalletUnit(request: try deserialize(request))
798
+ let result = try await self.getCore().holderRegisterInstance(request: try deserialize(request))
786
799
  return try serializeAny(result)
787
800
  }
788
801
  }
789
802
 
790
- @objc(holderActivateWalletUnit:request:resolver:rejecter:)
791
- func holderActivateWalletUnit(
803
+ @objc(holderActivateInstance:request:resolver:rejecter:)
804
+ func holderActivateInstance(
792
805
  id: String,
793
806
  request: NSDictionary,
794
807
  resolve: @escaping RCTPromiseResolveBlock,
795
808
  reject: @escaping RCTPromiseRejectBlock
796
809
  ) {
797
810
  asyncCall(resolve, reject) {
798
- try await self.getCore().holderActivateWalletUnit(id: id, request: try deserialize(request))
799
- return nil as NSDictionary?
800
- }
801
- }
802
-
803
- @objc(holderWalletUnitStatus:resolver:rejecter:)
804
- func holderWalletUnitStatus(
805
- walletUnitId: String,
806
- resolve: @escaping RCTPromiseResolveBlock,
807
- reject: @escaping RCTPromiseRejectBlock
808
- ) {
809
- asyncCall(resolve, reject) {
810
- try await self.getCore().holderWalletUnitStatus(id: walletUnitId)
811
- return nil as NSDictionary?
812
- }
813
- }
814
-
815
- @objc(holderWalletUnitUpdate:request:resolver:rejecter:)
816
- func holderWalletUnitUpdate(
817
- walletUnitId: String,
818
- request: NSDictionary,
819
- resolve: @escaping RCTPromiseResolveBlock,
820
- reject: @escaping RCTPromiseRejectBlock
821
- ) {
822
- asyncCall(resolve, reject) {
823
- try await self.getCore().holderWalletUnitUpdate(id: walletUnitId, request: try deserialize(request))
824
- return nil as NSDictionary?
825
- }
826
- }
827
-
828
- @objc(holderGetWalletUnit:resolver:rejecter:)
829
- func holderGetWalletUnit(
830
- walletUnitId: String,
831
- resolve: @escaping RCTPromiseResolveBlock,
832
- reject: @escaping RCTPromiseRejectBlock
833
- ) {
834
- asyncCall(resolve, reject) {
835
- let result = try await self.getCore().holderGetWalletUnit(id: walletUnitId)
811
+ let result = try await self.getCore().holderActivateInstance(id: id, request: try deserialize(request))
836
812
  return try serializeAny(result)
837
813
  }
838
814
  }
839
815
 
840
- @objc(holderGetWalletUnitTrustCollections:resolver:rejecter:)
841
- func holderGetWalletUnitTrustCollections(
842
- walletUnitId: String,
816
+ @objc(holderInstanceStatus:resolver:rejecter:)
817
+ func holderInstanceStatus(
818
+ instanceId: String,
843
819
  resolve: @escaping RCTPromiseResolveBlock,
844
820
  reject: @escaping RCTPromiseRejectBlock
845
821
  ) {
846
822
  asyncCall(resolve, reject) {
847
- let result = try await self.getCore().holderGetWalletUnitTrustCollections(id: walletUnitId)
848
- return try serializeAny(result)
823
+ try await self.getCore().holderInstanceStatus(id: instanceId)
824
+ return nil as NSDictionary?
849
825
  }
850
826
  }
851
827
 
852
- @objc(registerVerifierInstance:resolver:rejecter:)
853
- func registerVerifierInstance(
854
- request: NSDictionary,
828
+ @objc(holderGetInstance:resolver:rejecter:)
829
+ func holderGetInstance(
830
+ instanceId: String,
855
831
  resolve: @escaping RCTPromiseResolveBlock,
856
832
  reject: @escaping RCTPromiseRejectBlock
857
833
  ) {
858
834
  asyncCall(resolve, reject) {
859
- let result = try await self.getCore().registerVerifierInstance(request: try deserialize(request))
835
+ let result = try await self.getCore().holderGetInstance(id: instanceId)
860
836
  return try serializeAny(result)
861
837
  }
862
838
  }
863
839
 
864
- @objc(updateVerifierInstance:request:resolver:rejecter:)
865
- func updateVerifierInstance(
866
- verifierInstanceId: String,
867
- request: NSDictionary,
868
- resolve: @escaping RCTPromiseResolveBlock,
869
- reject: @escaping RCTPromiseRejectBlock
870
- ) {
871
- asyncCall(resolve, reject) {
872
- try await self.getCore().updateVerifierInstance(id: verifierInstanceId, request: try deserialize(request))
873
- return nil as NSDictionary?
874
- }
875
- }
876
-
877
- @objc(getVerifierInstanceTrustCollections:resolver:rejecter:)
878
- func getVerifierInstanceTrustCollections(
879
- verifierInstanceId: String,
840
+ @objc(getOrganisationTrustCollections:resolver:rejecter:)
841
+ func getOrganisationTrustCollections(
842
+ organisationId: String,
880
843
  resolve: @escaping RCTPromiseResolveBlock,
881
844
  reject: @escaping RCTPromiseRejectBlock
882
845
  ) {
883
846
  asyncCall(resolve, reject) {
884
- let result = try await self.getCore().getVerifierInstanceTrustCollections(id: verifierInstanceId)
847
+ let result = try await self.getCore().getOrganisationTrustCollections(id: organisationId)
885
848
  return try serializeAny(result)
886
849
  }
887
850
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@procivis/react-native-one-core",
3
- "version": "1.115411.0",
3
+ "version": "1.119306.0",
4
4
  "author": "Procivis AG (https://procivis.ch)",
5
5
  "license": "Apache-2.0",
6
6
  "description": "ONE core bindings for React Native",
@@ -37,7 +37,7 @@
37
37
  "babel-jest": "^29.5.0",
38
38
  "husky": "^7.0.4",
39
39
  "jest": "^29.5.0",
40
- "react-native": "0.72.17",
40
+ "react-native": "0.83.0",
41
41
  "typedoc": "^0.28.6",
42
42
  "typescript": "^5.1.6"
43
43
  },