@procivis/react-native-one-core 1.41710.0 → 1.52682.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.
Files changed (36) hide show
  1. package/android/src/main/java/ch/procivis/one/core/DeserializeSpecific.kt +4 -2
  2. package/android/src/main/java/ch/procivis/one/core/ProcivisOneCoreModule.kt +45 -12
  3. package/android/src/main/java/ch/procivis/one/core/Serialize.kt +3 -1
  4. package/android/src/main/java/ch/procivis/one/core/SerializeSpecific.kt +13 -0
  5. package/core-sdk.json +6 -6
  6. package/dist/src/config.d.ts +17 -2
  7. package/dist/src/config.js +9 -0
  8. package/dist/src/core.d.ts +15 -9
  9. package/dist/src/core.js +6 -1
  10. package/dist/src/credential.d.ts +6 -6
  11. package/dist/src/history.d.ts +6 -3
  12. package/dist/src/history.js +3 -0
  13. package/dist/src/identifier.d.ts +125 -0
  14. package/dist/src/identifier.js +29 -0
  15. package/dist/src/key.d.ts +0 -3
  16. package/dist/src/organisation.d.ts +2 -1
  17. package/dist/src/proof.d.ts +11 -9
  18. package/dist/src/trust.d.ts +44 -4
  19. package/dist/src/trust.js +5 -0
  20. package/ios/Deserialize.swift +140 -813
  21. package/ios/EventEmitter.swift +84 -72
  22. package/ios/ProcivisOneCoreModule.m +23 -6
  23. package/ios/ProcivisOneCoreModule.swift +981 -805
  24. package/ios/ProcivisRNOneCore.xcodeproj/project.pbxproj +9 -1
  25. package/ios/RNDecoder/RNDecoder.swift +191 -0
  26. package/ios/RNDecoder/RNDecodingStorage.swift +33 -0
  27. package/ios/RNDecoder/RNKeyedDecodingContainer.swift +133 -0
  28. package/ios/RNDecoder/RNUnkeyedDecodingContainer.swift +175 -0
  29. package/ios/RNEncoder/RNAnyCodingKey.swift +31 -0
  30. package/ios/RNEncoder/RNEncoder.swift +95 -0
  31. package/ios/RNEncoder/RNKeyedEncodingContainer.swift +81 -0
  32. package/ios/RNEncoder/RNSingleValueEncodingContainer.swift +78 -0
  33. package/ios/RNEncoder/RNUnkeyedEncodingContainer.swift +84 -0
  34. package/ios/Serialize.swift +46 -615
  35. package/ios/Util.swift +35 -25
  36. package/package.json +4 -2
@@ -5,820 +5,996 @@
5
5
  //
6
6
 
7
7
  import Foundation
8
- import React
9
8
  import ProcivisOneCore
9
+ import React
10
10
 
11
11
  @objc(ProcivisOneCoreModule)
12
12
  class ProcivisOneCoreModule: RCTEventEmitter {
13
- private static let TAG = "ProcivisOneCoreModule"
14
- private var core: OneCoreBindingProtocol? = nil
15
- private var rseKeyStorage: NativeKeyStorage? = nil
16
-
17
- @objc(initialize:resolver:rejecter:)
18
- func initialize(
19
- configJson: String,
20
- resolve: @escaping RCTPromiseResolveBlock,
21
- reject: @escaping RCTPromiseRejectBlock) {
22
- ProcivisOneCoreEventEmitter.shared.eventEmitter = self
23
- syncCall(resolve, reject) {
24
- guard let dataDirPath = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true).first else {
25
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0000", message: "invalid DataDir", cause: nil))
26
- }
27
-
28
- // create folder if not exists
29
- try FileManager.default.createDirectory(atPath: dataDirPath, withIntermediateDirectories: true)
30
-
31
- if (self.core != nil) {
32
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0183", message: "core already initialized", cause: nil))
33
- }
34
-
35
- if (RSEKeyStorage.available) {
36
- rseKeyStorage = RSEKeyStorage()
37
- }
38
- self.core = try initializeCore(configJson: configJson, dataDirPath: dataDirPath, nativeSecureElement: SecureEnclaveKeyStorage(), remoteSecureElement: rseKeyStorage, bleCentral: IOSBLECentral(), blePeripheral: IOSBLEPeripheral());
39
- return nil as NSDictionary?;
40
- }
41
- }
42
-
43
- private func getCore() throws -> OneCoreBindingProtocol {
44
- guard let result = core else {
45
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "core not initialized", cause: nil))
46
- }
47
- return result
13
+ private static let TAG = "ProcivisOneCoreModule"
14
+ private var core: OneCoreBindingProtocol? = nil
15
+ private var rseKeyStorage: NativeKeyStorage? = nil
16
+
17
+ @objc(initialize:resolver:rejecter:)
18
+ func initialize(
19
+ configJson: String,
20
+ resolve: @escaping RCTPromiseResolveBlock,
21
+ reject: @escaping RCTPromiseRejectBlock
22
+ ) {
23
+ ProcivisOneCoreEventEmitter.shared.eventEmitter = self
24
+ syncCall(resolve, reject) {
25
+ guard
26
+ let dataDirPath = NSSearchPathForDirectoriesInDomains(
27
+ .applicationSupportDirectory,
28
+ .userDomainMask,
29
+ true
30
+ ).first
31
+ else {
32
+ throw BindingError.ErrorResponse(
33
+ data: ErrorResponseBindingDto(code: "BR_0000", message: "invalid DataDir", cause: nil)
34
+ )
35
+ }
36
+
37
+ // create folder if not exists
38
+ try FileManager.default.createDirectory(
39
+ atPath: dataDirPath,
40
+ withIntermediateDirectories: true
41
+ )
42
+
43
+ if self.core != nil {
44
+ throw BindingError.ErrorResponse(
45
+ data: ErrorResponseBindingDto(
46
+ code: "BR_0183",
47
+ message: "core already initialized",
48
+ cause: nil
49
+ )
50
+ )
51
+ }
52
+
53
+ if RSEKeyStorage.available {
54
+ if let jsonConfigData = configJson.data(using: .utf8),
55
+ let config = try? JSONSerialization.jsonObject(with: jsonConfigData) as? [String: Any],
56
+ let keyStorage = config["keyStorage"] as? [String: Any],
57
+ let ubiquConfig = keyStorage["UBIQU_RSE"] as? [String: Any],
58
+ let ubiquEnabledFlag = ubiquConfig["enabled"] as? Bool,
59
+ ubiquEnabledFlag == true {
60
+ rseKeyStorage = RSEKeyStorage()
61
+ }
62
+ }
63
+ self.core = try initializeCore(
64
+ configJson: configJson,
65
+ dataDirPath: dataDirPath,
66
+ nativeSecureElement: SecureEnclaveKeyStorage(),
67
+ remoteSecureElement: rseKeyStorage,
68
+ bleCentral: IOSBLECentral(),
69
+ blePeripheral: IOSBLEPeripheral()
70
+ )
71
+
72
+ return nil as NSDictionary?
48
73
  }
49
-
50
- @objc(getVersion:rejecter:)
51
- func getVersion(
52
- resolve: @escaping RCTPromiseResolveBlock,
53
- reject: @escaping RCTPromiseRejectBlock) {
54
- syncCall(resolve, reject) {
55
- let version = try getCore().version();
56
- return serialize(version: version)
57
- }
58
- }
59
-
60
- @objc(getConfig:rejecter:)
61
- func getConfig(
62
- resolve: @escaping RCTPromiseResolveBlock,
63
- reject: @escaping RCTPromiseRejectBlock) {
64
- asyncCall(resolve, reject) {
65
- let config = try await self.getCore().getConfig();
66
- return serialize(config: config)
67
- }
68
- }
69
-
70
- @objc(createOrganisation:resolver:rejecter:)
71
- func createOrganisation(
72
- request: NSDictionary,
73
- resolve: @escaping RCTPromiseResolveBlock,
74
- reject: @escaping RCTPromiseRejectBlock) {
75
- asyncCall(resolve, reject) {
76
- return try await self.getCore().createOrganisation(request: deserializeCreateOrganisationRequest(request: request));
77
- }
78
- }
79
-
80
- @objc(upsertOrganisation:resolver:rejecter:)
81
- func upsertOrganisation(
82
- request: NSDictionary,
83
- resolve: @escaping RCTPromiseResolveBlock,
84
- reject: @escaping RCTPromiseRejectBlock) {
85
- asyncCall(resolve, reject) {
86
- try await self.getCore().upsertOrganisation(request: deserializeUpsertOrganisationRequest(request: request));
87
- return nil as NSDictionary?;
88
- }
89
- }
90
-
91
- @objc(generateKey:resolver:rejecter:)
92
- func generateKey(
93
- keyRequest: NSDictionary,
94
- resolve: @escaping RCTPromiseResolveBlock,
95
- reject: @escaping RCTPromiseRejectBlock) {
96
- asyncCall(resolve, reject) {
97
- return try await self.getCore().generateKey(request: deserializeKeyRequest(keyRequest: keyRequest));
98
- }
99
- }
100
-
101
- @objc(createDid:resolver:rejecter:)
102
- func createLocalKeyDid(
103
- didRequest: NSDictionary,
104
- resolve: @escaping RCTPromiseResolveBlock,
105
- reject: @escaping RCTPromiseRejectBlock) {
106
- asyncCall(resolve, reject) {
107
- return try await self.getCore().createDid(request: deserializeDidRequest(didRequest: didRequest));
108
- }
109
- }
110
-
111
- @objc(getDids:resolver:rejecter:)
112
- func getDids(
113
- query: NSDictionary,
114
- resolve: @escaping RCTPromiseResolveBlock,
115
- reject: @escaping RCTPromiseRejectBlock) {
116
- asyncCall(resolve, reject) {
117
- let listQuery = try deserializeDidListQuery(query);
118
- let result = try await self.getCore().getDids(query: listQuery);
119
- return serialize(didList: result)
120
- }
121
- }
122
-
123
- @objc(handleInvitation:organisationId:transport:resolver:rejecter:)
124
- func handleInvitation(
125
- url: String,
126
- organisationId: String,
127
- transport: NSArray?,
128
- resolve: @escaping RCTPromiseResolveBlock,
129
- reject: @escaping RCTPromiseRejectBlock) {
130
- asyncCall(resolve, reject) {
131
- let transport = (transport != nil) ? try deserializeIds(transport!) : nil;
132
- let result = try await self.getCore().handleInvitation(url: url, organisationId: organisationId, transport: transport);
133
- return serialize(invitationResponse: result)
134
- }
135
- }
136
-
137
- @objc(holderAcceptCredential:didId:keyId:txCode:resolver:rejecter:)
138
- func holderAcceptCredential(
139
- interactionId: String,
140
- didId: String,
141
- keyId: String?,
142
- txCode: String?,
143
- resolve: @escaping RCTPromiseResolveBlock,
144
- reject: @escaping RCTPromiseRejectBlock) {
145
- asyncCall(resolve, reject) {
146
- try await self.getCore().holderAcceptCredential(interactionId: interactionId, didId: didId, keyId: keyId, txCode: txCode);
147
- return nil as NSDictionary?;
148
- }
149
- }
150
-
151
- @objc(holderRejectCredential:resolver:rejecter:)
152
- func holderRejectCredential(
153
- interactionId: String,
154
- resolve: @escaping RCTPromiseResolveBlock,
155
- reject: @escaping RCTPromiseRejectBlock) {
156
- asyncCall(resolve, reject) {
157
- try await self.getCore().holderRejectCredential(interactionId: interactionId);
158
- return nil as NSDictionary?;
159
- }
160
- }
161
-
162
- @objc(getPresentationDefinition:resolver:rejecter:)
163
- func getPresentationDefinition(
164
- proofId: String,
165
- resolve: @escaping RCTPromiseResolveBlock,
166
- reject: @escaping RCTPromiseRejectBlock) {
167
- asyncCall(resolve, reject) {
168
- let result = try await self.getCore().getPresentationDefinition(proofId: proofId);
169
- return serialize(presentationDefinition: result)
170
- }
171
- }
172
-
173
- @objc(holderRejectProof:resolver:rejecter:)
174
- func rejectProof(
175
- interactionId: String,
176
- resolve: @escaping RCTPromiseResolveBlock,
177
- reject: @escaping RCTPromiseRejectBlock) {
178
- asyncCall(resolve, reject) {
179
- try await self.getCore().holderRejectProof(interactionId: interactionId);
180
- return nil as NSDictionary?;
181
- }
182
- }
183
-
184
- @objc(holderSubmitProof:credentials:didId:keyId:resolver:rejecter:)
185
- func submitProof(
186
- interactionId: String,
187
- credentials: NSDictionary,
188
- didId: String,
189
- keyId: String?,
190
- resolve: @escaping RCTPromiseResolveBlock,
191
- reject: @escaping RCTPromiseRejectBlock) {
192
- asyncCall(resolve, reject) {
193
- var submitCredentials: [String: PresentationSubmitCredentialRequestBindingDto] = [:];
194
- try credentials.allKeys.forEach {
195
- let key: String = try safeCast($0);
196
- let entry: NSDictionary = try safeCast(credentials.value(forKey: key));
197
- submitCredentials[key] = try deserializePresentationSubmitCredentialRequest(entry)
198
- }
199
-
200
- try await self.getCore().holderSubmitProof(interactionId: interactionId, submitCredentials: submitCredentials, didId: didId, keyId: keyId);
201
- return nil as NSDictionary?;
202
- }
203
- }
204
-
205
- @objc(getCredentials:resolver:rejecter:)
206
- func getCredentials(
207
- query: NSDictionary,
208
- resolve: @escaping RCTPromiseResolveBlock,
209
- reject: @escaping RCTPromiseRejectBlock) {
210
- asyncCall(resolve, reject) {
211
- let listQuery = try deserializeCredentialListQuery(query);
212
- let result = try await self.getCore().getCredentials(query: listQuery);
213
- return serialize(credentialList: result)
214
- }
215
- }
216
-
217
- @objc(getCredential:resolver:rejecter:)
218
- func getCredential(
219
- credentialId: String,
220
- resolve: @escaping RCTPromiseResolveBlock,
221
- reject: @escaping RCTPromiseRejectBlock) {
222
- asyncCall(resolve, reject) {
223
- let result = try await self.getCore().getCredential(credentialId: credentialId);
224
- return serialize(credentialDetail: result)
225
- }
226
- }
227
-
228
- @objc(deleteCredential:resolver:rejecter:)
229
- func deleteCredential(
230
- credentialId: String,
231
- resolve: @escaping RCTPromiseResolveBlock,
232
- reject: @escaping RCTPromiseRejectBlock) {
233
- asyncCall(resolve, reject) {
234
- try await self.getCore().deleteCredential(credentialId: credentialId);
235
- return nil as NSDictionary?;
236
- }
237
- }
238
-
239
- @objc(importCredentialSchema:resolver:rejecter:)
240
- func importCredentialSchema(
241
- request: NSDictionary,
242
- resolve: @escaping RCTPromiseResolveBlock,
243
- reject: @escaping RCTPromiseRejectBlock) {
244
- asyncCall(resolve, reject) {
245
- let request = try deserializeImportCredentialSchemaRequest(request);
246
- return try await self.getCore().importCredentialSchema(request: request)
247
- }
248
- }
249
-
250
- @objc(getCredentialSchema:resolver:rejecter:)
251
- func getCredentialSchema(
252
- credentialSchemaId: String,
253
- resolve: @escaping RCTPromiseResolveBlock,
254
- reject: @escaping RCTPromiseRejectBlock) {
255
- asyncCall(resolve, reject) {
256
- let result = try await self.getCore().getCredentialSchema(credentialSchemaId: credentialSchemaId);
257
- return serialize(credentialSchemaDetail: result)
258
- }
259
- }
260
-
261
- @objc(getCredentialSchemas:resolver:rejecter:)
262
- func getCredentialSchemas(
263
- query: NSDictionary,
264
- resolve: @escaping RCTPromiseResolveBlock,
265
- reject: @escaping RCTPromiseRejectBlock) {
266
- asyncCall(resolve, reject) {
267
- let listQuery = try deserializeCredentialSchemaListQuery(query)
268
- let result = try await self.getCore().getCredentialSchemas(query: listQuery);
269
- return serialize(credentialSchemaList: result)
270
- }
271
- }
272
-
273
- @objc(deleteCredentialSchema:resolver:rejecter:)
274
- func deleteCredentialSchema(
275
- credentialSchemaId: String,
276
- resolve: @escaping RCTPromiseResolveBlock,
277
- reject: @escaping RCTPromiseRejectBlock) {
278
- asyncCall(resolve, reject) {
279
- try await self.getCore().deleteCredentialSchema(credentialSchemaId: credentialSchemaId);
280
- return nil as NSDictionary?;
281
- }
282
- }
283
-
284
- @objc(createProofSchema:resolver:rejecter:)
285
- func createProofSchema(
286
- request: NSDictionary,
287
- resolve: @escaping RCTPromiseResolveBlock,
288
- reject: @escaping RCTPromiseRejectBlock) {
289
- asyncCall(resolve, reject) {
290
- let request = try deserializeCreateProofSchemaRequest(request)
291
- return try await self.getCore().createProofSchema(request: request)
292
- }
293
- }
294
-
295
- @objc(getProofSchemas:resolver:rejecter:)
296
- func getProofSchemas(
297
- query: NSDictionary,
298
- resolve: @escaping RCTPromiseResolveBlock,
299
- reject: @escaping RCTPromiseRejectBlock) {
300
- asyncCall(resolve, reject) {
301
- let listQuery = try deserializeProofSchemaListQuery(query)
302
- let result = try await self.getCore().getProofSchemas(filter: listQuery);
303
- return serialize(proofSchemaList: result)
304
- }
305
- }
306
-
307
- @objc(getProofSchema:resolver:rejecter:)
308
- func getProofSchema(
309
- proofSchemaId: String,
310
- resolve: @escaping RCTPromiseResolveBlock,
311
- reject: @escaping RCTPromiseRejectBlock) {
312
- asyncCall(resolve, reject) {
313
- let result = try await self.getCore().getProofSchema(proofSchemaId: proofSchemaId);
314
- return serialize(proofSchema: result)
315
- }
316
- }
317
-
318
- @objc(deleteProofSchema:resolver:rejecter:)
319
- func deleteProofSchema(
320
- proofSchemaId: String,
321
- resolve: @escaping RCTPromiseResolveBlock,
322
- reject: @escaping RCTPromiseRejectBlock) {
323
- asyncCall(resolve, reject) {
324
- try await self.getCore().deleteProofSchema(proofSchemaId: proofSchemaId);
325
- return nil as NSDictionary?;
326
- }
327
- }
328
-
329
- @objc(importProofSchema:resolver:rejecter:)
330
- func importProofSchema(
331
- request: NSDictionary,
332
- resolve: @escaping RCTPromiseResolveBlock,
333
- reject: @escaping RCTPromiseRejectBlock) {
334
- asyncCall(resolve, reject) {
335
- let request = try deserializeImportProofSchemaRequest(request);
336
- return try await self.getCore().importProofSchema(request: request)
337
- }
338
- }
339
-
340
- @objc(createProof:resolver:rejecter:)
341
- func createProof(
342
- request: NSDictionary,
343
- resolve: @escaping RCTPromiseResolveBlock,
344
- reject: @escaping RCTPromiseRejectBlock) {
345
- asyncCall(resolve, reject) {
346
- let request = try deserializeCreateProofRequest(request);
347
- return try await self.getCore().createProof(request: request)
348
- }
349
- }
350
-
351
- @objc(runTask:resolver:rejecter:)
352
- func runTask(
353
- task: String,
354
- resolve: @escaping RCTPromiseResolveBlock,
355
- reject: @escaping RCTPromiseRejectBlock) {
356
- asyncCall(resolve, reject) {
357
- return try await self.getCore().runTask(task: task);
358
- }
359
- }
360
-
361
- @objc(deleteProofClaims:resolver:rejecter:)
362
- func deleteProofClaims(
363
- proofId: String,
364
- resolve: @escaping RCTPromiseResolveBlock,
365
- reject: @escaping RCTPromiseRejectBlock) {
366
- asyncCall(resolve, reject) {
367
- try await self.getCore().deleteProofClaims(proofId: proofId);
368
- return nil as NSDictionary?;
369
- }
370
- }
371
-
372
- @objc(checkCertificate:certificate:resolver:rejecter:)
373
- func checkCertificate(
374
- keyId: String,
375
- certificate: NSDictionary,
376
- resolve: @escaping RCTPromiseResolveBlock,
377
- reject: @escaping RCTPromiseRejectBlock) {
378
- asyncCall(resolve, reject) {
379
- let certificate = try deserializeKeyCheckCertificateRequest(certificate);
380
- try await self.getCore().checkCertificate(keyId: keyId, certificate: certificate);
381
- return nil as NSDictionary?;
382
- }
383
- }
384
-
385
- @objc(shareCredentialSchema:resolver:rejecter:)
386
- func shareCredentialSchema(
387
- credentialSchemaId: String,
388
- resolve: @escaping RCTPromiseResolveBlock,
389
- reject: @escaping RCTPromiseRejectBlock) {
390
- asyncCall(resolve, reject) {
391
- let result = try await self.getCore().shareCredentialSchema(credentialSchemaId: credentialSchemaId);
392
- return serialize(credentialSchemaShareResponse: result)
393
- }
394
- }
395
-
396
- @objc(shareProofSchema:resolver:rejecter:)
397
- func shareProofSchema(
398
- proofSchemaId: String,
399
- resolve: @escaping RCTPromiseResolveBlock,
400
- reject: @escaping RCTPromiseRejectBlock) {
401
- asyncCall(resolve, reject) {
402
- let result = try await self.getCore().shareProofSchema(proofSchemaId: proofSchemaId);
403
- return serialize(proofSchemaShareResponse: result)
404
- }
405
- }
406
-
407
- @objc(shareProof:request:resolver:rejecter:)
408
- func shareProof(
409
- proofId: String,
410
- request: NSDictionary,
411
- resolve: @escaping RCTPromiseResolveBlock,
412
- reject: @escaping RCTPromiseRejectBlock) {
413
- asyncCall(resolve, reject) {
414
- let result = try await self.getCore().shareProof(proofId: proofId, params: deserializeShareProofRequest(request));
415
- return serialize(shareProofResponse: result)
416
- }
417
- }
418
-
419
- @objc(getProof:resolver:rejecter:)
420
- func getProof(
421
- proofId: String,
422
- resolve: @escaping RCTPromiseResolveBlock,
423
- reject: @escaping RCTPromiseRejectBlock) {
424
- asyncCall(resolve, reject) {
425
- let result = try await self.getCore().getProof(proofId: proofId);
426
- return serialize(proofResponse: result)
427
- }
428
- }
429
-
430
- @objc(getProofs:resolver:rejecter:)
431
- func getProofs(
432
- query: NSDictionary,
433
- resolve: @escaping RCTPromiseResolveBlock,
434
- reject: @escaping RCTPromiseRejectBlock) {
435
- asyncCall(resolve, reject) {
436
- let listQuery = try deserializeProofListQuery(query);
437
- let result = try await self.getCore().getProofs(query: listQuery);
438
- return serialize(proofList: result)
439
- }
440
- }
441
-
442
- @objc(deleteProof:resolver:rejecter:)
443
- func deleteProof(
444
- proofId: String,
445
- resolve: @escaping RCTPromiseResolveBlock,
446
- reject: @escaping RCTPromiseRejectBlock) {
447
- asyncCall(resolve, reject) {
448
- try await self.getCore().deleteProof(proofId: proofId)
449
- return nil as NSDictionary?;
450
- }
451
- }
452
-
453
- @objc(proposeProof:organisationId:resolver:rejecter:)
454
- func proposeProof(
455
- exchange: String,
456
- organisationId: String,
457
- resolve: @escaping RCTPromiseResolveBlock,
458
- reject: @escaping RCTPromiseRejectBlock) {
459
- asyncCall(resolve, reject) {
460
- let result = try await self.getCore().proposeProof(exchange: exchange, organisationId: organisationId)
461
- return serialize(proposeProofResponse: result)
462
- }
463
- }
464
-
465
- @objc(checkRevocation:forceRefresh:resolver:rejecter:)
466
- func checkRevocation(
467
- credentialIds: NSArray,
468
- forceRefresh: Bool,
469
- resolve: @escaping RCTPromiseResolveBlock,
470
- reject: @escaping RCTPromiseRejectBlock) {
471
- asyncCall(resolve, reject) {
472
- let ids = try deserializeIds(credentialIds);
473
- let result = try await self.getCore().checkRevocation(credentialIds: ids, forceRefresh: forceRefresh);
474
- return result.map {
475
- serialize(credentialRevocationCheckResponse: $0)
476
- }
477
- }
478
- }
479
-
480
- @objc(getHistory:resolver:rejecter:)
481
- func getHistory(
482
- query: NSDictionary,
483
- resolve: @escaping RCTPromiseResolveBlock,
484
- reject: @escaping RCTPromiseRejectBlock) {
485
- asyncCall(resolve, reject) {
486
- let listQuery = try deserializeHistoryListQuery(query)
487
- let result = try await self.getCore().getHistoryList(query: listQuery);
488
- return serialize(historyList: result)
489
- }
490
- }
491
-
492
- @objc(getHistoryEntry:resolver:rejecter:)
493
- func getHistoryEntry(
494
- historyId: String,
495
- resolve: @escaping RCTPromiseResolveBlock,
496
- reject: @escaping RCTPromiseRejectBlock) {
497
- asyncCall(resolve, reject) {
498
- let result = try await self.getCore().getHistoryEntry(historyId: historyId);
499
- return serialize(historyListItem: result)
500
- }
501
- }
502
-
503
- @objc(createTrustAnchor:resolver:rejecter:)
504
- func createTrustAnchor(
505
- request: NSDictionary,
506
- resolve: @escaping RCTPromiseResolveBlock,
507
- reject: @escaping RCTPromiseRejectBlock) {
508
- asyncCall(resolve, reject) {
509
- let request = try deserializeCreateTrustAnchorRequest(request);
510
- return try await self.getCore().createTrustAnchor(anchor: request)
511
- }
512
- }
513
-
514
- @objc(getTrustAnchor:resolver:rejecter:)
515
- func getTrustAnchor(
516
- trustAnchorId: String,
517
- resolve: @escaping RCTPromiseResolveBlock,
518
- reject: @escaping RCTPromiseRejectBlock) {
519
- asyncCall(resolve, reject) {
520
- let trustAnchor = try await self.getCore().getTrustAnchor(trustAnchorId: trustAnchorId);
521
- return serialize(trustAnchor: trustAnchor)
522
- }
523
- }
524
-
525
- @objc(getTrustAnchors:resolver:rejecter:)
526
- func getTrustAnchors(
527
- query: NSDictionary,
528
- resolve: @escaping RCTPromiseResolveBlock,
529
- reject: @escaping RCTPromiseRejectBlock) {
530
- asyncCall(resolve, reject) {
531
- let listQuery = try deserializeTrustAnchorListQuery(query)
532
- let result = try await self.getCore().listTrustAnchors(filters: listQuery);
533
- return serialize(trustAnchorList: result)
534
- }
535
- }
536
-
537
- @objc(deleteTrustAnchor:resolver:rejecter:)
538
- func deleteTrustAnchor(
539
- trustAnchorId: String,
540
- resolve: @escaping RCTPromiseResolveBlock,
541
- reject: @escaping RCTPromiseRejectBlock) {
542
- asyncCall(resolve, reject) {
543
- try await self.getCore().deleteTrustAnchor(anchorId: trustAnchorId);
544
- return nil as NSDictionary?;
545
- }
546
- }
547
-
548
- @objc(createTrustEntity:resolver:rejecter:)
549
- func createTrustEntity(
550
- request: NSDictionary,
551
- resolve: @escaping RCTPromiseResolveBlock,
552
- reject: @escaping RCTPromiseRejectBlock) {
553
- asyncCall(resolve, reject) {
554
- let request = try deserializeCreateTrustEntityRequest(request);
555
- return try await self.getCore().createTrustEntity(request: request)
556
- }
557
- }
558
-
559
- @objc(getTrustEntities:resolver:rejecter:)
560
- func getTrustEntities(
561
- query: NSDictionary,
562
- resolve: @escaping RCTPromiseResolveBlock,
563
- reject: @escaping RCTPromiseRejectBlock) {
564
- asyncCall(resolve, reject) {
565
- let listQuery = try deserializeTrustEntityListQuery(query)
566
- let result = try await self.getCore().listTrustEntities(filters: listQuery);
567
- return serialize(trustEntityList: result)
568
- }
569
- }
570
-
571
- @objc(getTrustEntity:resolver:rejecter:)
572
- func getTrustEntity(
573
- trustEntityId: String,
574
- resolve: @escaping RCTPromiseResolveBlock,
575
- reject: @escaping RCTPromiseRejectBlock) {
576
- asyncCall(resolve, reject) {
577
- let trustEntity = try await self.getCore().getTrustEntity(trustEntityId: trustEntityId);
578
- return serialize(trustEntity: trustEntity)
579
- }
580
- }
581
-
582
- @objc(getTrustEntityByDid:resolver:rejecter:)
583
- func getTrustEntityByDid(
584
- didId: String,
585
- resolve: @escaping RCTPromiseResolveBlock,
586
- reject: @escaping RCTPromiseRejectBlock) {
587
- asyncCall(resolve, reject) {
588
- let trustEntity = try await self.getCore().getTrustEntityByDid(didId: didId);
589
- return serialize(trustEntity: trustEntity)
590
- }
591
- }
592
-
593
- @objc(createRemoteTrustEntity:resolver:rejecter:)
594
- func createRemoteTrustEntity(
595
- request: NSDictionary,
596
- resolve: @escaping RCTPromiseResolveBlock,
597
- reject: @escaping RCTPromiseRejectBlock) {
598
- asyncCall(resolve, reject) {
599
- let request = try deserializeCreateRemoteTrustEntityRequest(request);
600
- return try await self.getCore().createRemoteTrustEntity(request: request)
601
- }
602
- }
603
-
604
- @objc(getRemoteTrustEntity:resolver:rejecter:)
605
- func getRemoteTrustEntity(
606
- didId: String,
607
- resolve: @escaping RCTPromiseResolveBlock,
608
- reject: @escaping RCTPromiseRejectBlock) {
609
- asyncCall(resolve, reject) {
610
- let trustEntity = try await self.getCore().getRemoteTrustEntity(didId: didId);
611
- return serialize(trustEntity: trustEntity)
612
- }
613
- }
614
-
615
- @objc(updateRemoteTrustEntity:resolver:rejecter:)
616
- func updateRemoteTrustEntity(
617
- request: NSDictionary,
618
- resolve: @escaping RCTPromiseResolveBlock,
619
- reject: @escaping RCTPromiseRejectBlock) {
620
- asyncCall(resolve, reject) {
621
- let request = try deserializeUpdateRemoteTrustEntityRequest(request);
622
- return try await self.getCore().updateRemoteTrustEntity(request: request)
623
- }
624
- }
625
-
626
-
627
- @objc(createBackup:outputPath:resolver:rejecter:)
628
- func createBackup(
629
- password: String,
630
- outputPath: String,
631
- resolve: @escaping RCTPromiseResolveBlock,
632
- reject: @escaping RCTPromiseRejectBlock) {
633
- asyncCall(resolve, reject) {
634
- let result = try await self.getCore().createBackup(password: password, outputPath: outputPath);
635
- return serialize(backupCreate: result)
636
- }
637
- }
638
-
639
- @objc(backupInfo:rejecter:)
640
- func backupInfo(
641
- resolve: @escaping RCTPromiseResolveBlock,
642
- reject: @escaping RCTPromiseRejectBlock) {
643
- asyncCall(resolve, reject) {
644
- let result = try await self.getCore().backupInfo();
645
- return serialize(unexportableEntities: result)
646
- }
647
- }
648
-
649
- @objc(unpackBackup:inputPath:resolver:rejecter:)
650
- func unpackBackup(
651
- password: String,
652
- inputPath: String,
653
- resolve: @escaping RCTPromiseResolveBlock,
654
- reject: @escaping RCTPromiseRejectBlock) {
655
- asyncCall(resolve, reject) {
656
- let result = try await self.getCore().unpackBackup(password: password, inputPath: inputPath);
657
- return serialize(importBackupMetadata: result)
658
- }
659
- }
660
-
661
- @objc(finalizeImport:rejecter:)
662
- func finalizeImport(
663
- resolve: @escaping RCTPromiseResolveBlock,
664
- reject: @escaping RCTPromiseRejectBlock) {
665
- asyncCall(resolve, reject) {
666
- try await self.getCore().finalizeImport();
667
- return nil as NSDictionary?;
668
- }
669
- }
670
-
671
- @objc(rollbackImport:rejecter:)
672
- func rollbackImport(
673
- resolve: @escaping RCTPromiseResolveBlock,
674
- reject: @escaping RCTPromiseRejectBlock) {
675
- asyncCall(resolve, reject) {
676
- try await self.getCore().rollbackImport();
677
- return nil as NSDictionary?;
678
- }
679
- }
680
-
681
- @objc(resolveJsonldContext:resolver:rejecter:)
682
- func resolveJsonldContext(
683
- url: String,
684
- resolve: @escaping RCTPromiseResolveBlock,
685
- reject: @escaping RCTPromiseRejectBlock) {
686
- asyncCall(resolve, reject) {
687
- let result = try await self.getCore().resolveJsonldContext(url: url);
688
- return serialize(resolveJsonLdContextResponse: result)
689
- }
690
- }
691
-
692
- @objc(deleteCache:resolver:rejecter:)
693
- func deleteCache(
694
- types: NSArray?,
695
- resolve: @escaping RCTPromiseResolveBlock,
696
- reject: @escaping RCTPromiseRejectBlock) {
697
- asyncCall(resolve, reject) {
698
- let types = try deserializeCacheTypes(types: types);
699
- try await self.getCore().deleteCache(types: types);
700
- return nil as NSDictionary?;
701
- }
702
- }
703
-
704
- @objc(uninitialize:resolver:rejecter:)
705
- func uninitialize(
706
- deleteData: Bool,
707
- resolve: @escaping RCTPromiseResolveBlock,
708
- reject: @escaping RCTPromiseRejectBlock) {
709
- asyncCall(resolve, reject) {
710
- try await self.getCore().uninitialize(deleteData: deleteData);
711
- self.core = nil
712
- if deleteData, let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage {
713
- try await rseKeyStorage.delete()
714
- }
715
- return nil as NSDictionary?;
716
- }
717
- }
718
-
719
- // MARK: Ubiqu specific methods
720
-
721
- @objc(changeRSEPin:rejecter:)
722
- func changeRSEPin(
723
- resolve: @escaping RCTPromiseResolveBlock,
724
- reject: @escaping RCTPromiseRejectBlock) {
725
- asyncCall(resolve, reject) {
726
- guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
727
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "ubiqu not initialized", cause: nil))
728
- }
729
- try await rseKeyStorage.changePin()
730
- return nil as NSDictionary?;
731
- }
732
- }
733
-
734
- @objc(areRSEBiometricsSupported:rejecter:)
735
- func areRSEBiometricsSupported(
736
- resolve: @escaping RCTPromiseResolveBlock,
737
- reject: @escaping RCTPromiseRejectBlock) {
738
- asyncCall(resolve, reject) {
739
- guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
740
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "ubiqu not initialized", cause: nil))
741
- }
742
- return rseKeyStorage.areBiometricsSupported
743
- }
744
- }
745
-
746
- @objc(areRSEBiometricsEnabled:rejecter:)
747
- func areRSEBiometricsEnabled(
748
- resolve: @escaping RCTPromiseResolveBlock,
749
- reject: @escaping RCTPromiseRejectBlock) {
750
- asyncCall(resolve, reject) {
751
- guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
752
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "ubiqu not initialized", cause: nil))
753
- }
754
- return rseKeyStorage.areBiometricsEnabled
755
- }
756
- }
757
-
758
- @objc(setRSEBiometrics:resolver:rejecter:)
759
- func setRSEBiometrics(
760
- enabled: Bool,
761
- resolve: @escaping RCTPromiseResolveBlock,
762
- reject: @escaping RCTPromiseRejectBlock) {
763
- asyncCall(resolve, reject) {
764
- guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
765
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "ubiqu not initialized", cause: nil))
766
- }
767
- if (enabled) {
768
- try await rseKeyStorage.enableBiometrics()
769
- } else {
770
- try rseKeyStorage.disableBiometrics()
771
- }
772
- return nil as NSDictionary?;
773
- }
774
- }
775
-
776
- @objc(resetRSE:rejecter:)
777
- func resetRSE(
778
- resolve: @escaping RCTPromiseResolveBlock,
779
- reject: @escaping RCTPromiseRejectBlock) {
780
- asyncCall(resolve, reject) {
781
- if let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage {
782
- try await rseKeyStorage.delete()
783
- }
784
- return nil as NSDictionary?;
785
- }
786
- }
787
-
788
- @objc(resetRSEPinFlow:rejecter:)
789
- func resetRSEPinFlow(
790
- resolve: @escaping RCTPromiseResolveBlock,
791
- reject: @escaping RCTPromiseRejectBlock) {
792
- asyncCall(resolve, reject) {
793
- guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
794
- throw BindingError.ErrorResponse(data: ErrorResponseBindingDto(code: "BR_0184", message: "ubiqu not initialized", cause: nil))
795
- }
796
- try await rseKeyStorage.resetPinFlow()
797
- return nil as NSDictionary?;
798
- }
799
- }
800
- }
74
+ }
801
75
 
802
- // MARK: RCTEventEmitter
76
+ private func getCore() throws -> OneCoreBindingProtocol {
77
+ guard let result = core else {
78
+ throw BindingError.ErrorResponse(
79
+ data: ErrorResponseBindingDto(code: "BR_0184", message: "core not initialized", cause: nil)
80
+ )
81
+ }
82
+ return result
83
+ }
803
84
 
804
- extension ProcivisOneCoreModule {
805
-
806
- override func supportedEvents() -> [String]! {
807
- return ProcivisOneCoreEventEmitter.supportedEvents
85
+ @objc(getVersion:rejecter:)
86
+ func getVersion(
87
+ resolve: @escaping RCTPromiseResolveBlock,
88
+ reject: @escaping RCTPromiseRejectBlock
89
+ ) {
90
+ syncCall(resolve, reject) {
91
+ let version = try getCore().version()
92
+ return try serializeAny(version)
808
93
  }
809
-
810
- override func startObserving() {
811
- ProcivisOneCoreEventEmitter.hasListeners = true
94
+ }
95
+
96
+ @objc(getConfig:rejecter:)
97
+ func getConfig(
98
+ resolve: @escaping RCTPromiseResolveBlock,
99
+ reject: @escaping RCTPromiseRejectBlock
100
+ ) {
101
+ asyncCall(resolve, reject) {
102
+ let config = try await self.getCore().getConfig()
103
+ return try serializeAny(config)
812
104
  }
813
-
814
- override func stopObserving() {
815
- ProcivisOneCoreEventEmitter.hasListeners = false
105
+ }
106
+
107
+ @objc(createOrganisation:resolver:rejecter:)
108
+ func createOrganisation(
109
+ request: NSDictionary,
110
+ resolve: @escaping RCTPromiseResolveBlock,
111
+ reject: @escaping RCTPromiseRejectBlock
112
+ ) {
113
+ asyncCall(resolve, reject) {
114
+ return try await self.getCore().createOrganisation(request: try deserialize(request))
816
115
  }
817
-
818
- override func sendEvent(withName name: String!, body: Any!) {
819
- guard ProcivisOneCoreEventEmitter.hasListeners else {
820
- return
821
- }
822
- super.sendEvent(withName: name, body: body)
116
+ }
117
+
118
+ @objc(upsertOrganisation:resolver:rejecter:)
119
+ func upsertOrganisation(
120
+ request: NSDictionary,
121
+ resolve: @escaping RCTPromiseResolveBlock,
122
+ reject: @escaping RCTPromiseRejectBlock
123
+ ) {
124
+ asyncCall(resolve, reject) {
125
+ try await self.getCore().upsertOrganisation(request: try deserialize(request))
126
+ return nil as NSDictionary?
127
+ }
128
+ }
129
+
130
+ @objc(generateKey:resolver:rejecter:)
131
+ func generateKey(
132
+ keyRequest: NSDictionary,
133
+ resolve: @escaping RCTPromiseResolveBlock,
134
+ reject: @escaping RCTPromiseRejectBlock
135
+ ) {
136
+ asyncCall(resolve, reject) {
137
+ return try await self.getCore().generateKey(request: try deserialize(keyRequest))
138
+ }
139
+ }
140
+
141
+ @objc(createDid:resolver:rejecter:)
142
+ func createLocalKeyDid(
143
+ didRequest: NSDictionary,
144
+ resolve: @escaping RCTPromiseResolveBlock,
145
+ reject: @escaping RCTPromiseRejectBlock
146
+ ) {
147
+ asyncCall(resolve, reject) {
148
+ return try await self.getCore().createDid(request: try deserialize(didRequest))
149
+ }
150
+ }
151
+
152
+ @objc(getDids:resolver:rejecter:)
153
+ func getDids(
154
+ query: NSDictionary,
155
+ resolve: @escaping RCTPromiseResolveBlock,
156
+ reject: @escaping RCTPromiseRejectBlock
157
+ ) {
158
+ asyncCall(resolve, reject) {
159
+ let result = try await self.getCore().getDids(query: try deserialize(query))
160
+ return try serializeAny(result)
161
+ }
162
+ }
163
+
164
+ @objc(createIdentifier:resolver:rejecter:)
165
+ func createIdentifier(
166
+ identifierRequest: NSDictionary,
167
+ resolve: @escaping RCTPromiseResolveBlock,
168
+ reject: @escaping RCTPromiseRejectBlock
169
+ ) {
170
+ asyncCall(resolve, reject) {
171
+ return try await self.getCore().createIdentifier(request: try deserialize(identifierRequest))
172
+ }
173
+ }
174
+
175
+ @objc(getIdentifiers:resolver:rejecter:)
176
+ func getIdentifiers(
177
+ query: NSDictionary,
178
+ resolve: @escaping RCTPromiseResolveBlock,
179
+ reject: @escaping RCTPromiseRejectBlock
180
+ ) {
181
+ asyncCall(resolve, reject) {
182
+ let result = try await self.getCore().listIdentifiers(query: try deserialize(query))
183
+ return try serializeAny(result)
184
+ }
185
+ }
186
+
187
+ @objc(getIdentifier:resolver:rejecter:)
188
+ func getIdentifier(
189
+ identifierId: String,
190
+ resolve: @escaping RCTPromiseResolveBlock,
191
+ reject: @escaping RCTPromiseRejectBlock
192
+ ) {
193
+ asyncCall(resolve, reject) {
194
+ let result = try await self.getCore().getIdentifier(id: identifierId)
195
+ return try serializeAny(result)
196
+ }
197
+ }
198
+
199
+ @objc(deleteIdentifier:resolver:rejecter:)
200
+ func deleteIdentifier(
201
+ identifierId: String,
202
+ resolve: @escaping RCTPromiseResolveBlock,
203
+ reject: @escaping RCTPromiseRejectBlock
204
+ ) {
205
+ asyncCall(resolve, reject) {
206
+ try await self.getCore().deleteIdentifier(id: identifierId)
207
+ return nil as NSDictionary?
208
+ }
209
+ }
210
+
211
+ @objc(handleInvitation:organisationId:transport:resolver:rejecter:)
212
+ func handleInvitation(
213
+ url: String,
214
+ organisationId: String,
215
+ transport: NSArray?,
216
+ resolve: @escaping RCTPromiseResolveBlock,
217
+ reject: @escaping RCTPromiseRejectBlock
218
+ ) {
219
+ asyncCall(resolve, reject) {
220
+ let result = try await self.getCore().handleInvitation(
221
+ url: url,
222
+ organisationId: organisationId,
223
+ transport: try deserializeOpt(transport)
224
+ )
225
+ return try serializeAny(result)
226
+ }
227
+ }
228
+
229
+ @objc(holderAcceptCredential:didId:identifierId:keyId:txCode:resolver:rejecter:)
230
+ func holderAcceptCredential(
231
+ interactionId: String,
232
+ didId: String?,
233
+ identifierId: String?,
234
+ keyId: String?,
235
+ txCode: String?,
236
+ resolve: @escaping RCTPromiseResolveBlock,
237
+ reject: @escaping RCTPromiseRejectBlock
238
+ ) {
239
+ asyncCall(resolve, reject) {
240
+ try await self.getCore().holderAcceptCredential(
241
+ interactionId: interactionId,
242
+ didId: didId,
243
+ identifierId: identifierId,
244
+ keyId: keyId,
245
+ txCode: txCode
246
+ )
247
+ return nil as NSDictionary?
248
+ }
249
+ }
250
+
251
+ @objc(holderRejectCredential:resolver:rejecter:)
252
+ func holderRejectCredential(
253
+ interactionId: String,
254
+ resolve: @escaping RCTPromiseResolveBlock,
255
+ reject: @escaping RCTPromiseRejectBlock
256
+ ) {
257
+ asyncCall(resolve, reject) {
258
+ try await self.getCore().holderRejectCredential(interactionId: interactionId)
259
+ return nil as NSDictionary?
260
+ }
261
+ }
262
+
263
+ @objc(getPresentationDefinition:resolver:rejecter:)
264
+ func getPresentationDefinition(
265
+ proofId: String,
266
+ resolve: @escaping RCTPromiseResolveBlock,
267
+ reject: @escaping RCTPromiseRejectBlock
268
+ ) {
269
+ asyncCall(resolve, reject) {
270
+ let result = try await self.getCore().getPresentationDefinition(proofId: proofId)
271
+ return try serializeAny(result)
272
+ }
273
+ }
274
+
275
+ @objc(holderRejectProof:resolver:rejecter:)
276
+ func rejectProof(
277
+ interactionId: String,
278
+ resolve: @escaping RCTPromiseResolveBlock,
279
+ reject: @escaping RCTPromiseRejectBlock
280
+ ) {
281
+ asyncCall(resolve, reject) {
282
+ try await self.getCore().holderRejectProof(interactionId: interactionId)
283
+ return nil as NSDictionary?
284
+ }
285
+ }
286
+
287
+ @objc(holderSubmitProof:credentials:didId:identifierId:keyId:resolver:rejecter:)
288
+ func submitProof(
289
+ interactionId: String,
290
+ credentials: NSDictionary,
291
+ didId: String?,
292
+ identifierId: String?,
293
+ keyId: String?,
294
+ resolve: @escaping RCTPromiseResolveBlock,
295
+ reject: @escaping RCTPromiseRejectBlock
296
+ ) {
297
+ asyncCall(resolve, reject) {
298
+ try await self.getCore().holderSubmitProof(
299
+ interactionId: interactionId,
300
+ submitCredentials: try deserialize(credentials),
301
+ didId: didId,
302
+ identifierId: identifierId,
303
+ keyId: keyId
304
+ )
305
+ return nil as NSDictionary?
306
+ }
307
+ }
308
+
309
+ @objc(getCredentials:resolver:rejecter:)
310
+ func getCredentials(
311
+ query: NSDictionary,
312
+ resolve: @escaping RCTPromiseResolveBlock,
313
+ reject: @escaping RCTPromiseRejectBlock
314
+ ) {
315
+ asyncCall(resolve, reject) {
316
+ let result = try await self.getCore().getCredentials(query: try deserialize(query))
317
+ return try serializeAny(result)
318
+ }
319
+ }
320
+
321
+ @objc(getCredential:resolver:rejecter:)
322
+ func getCredential(
323
+ credentialId: String,
324
+ resolve: @escaping RCTPromiseResolveBlock,
325
+ reject: @escaping RCTPromiseRejectBlock
326
+ ) {
327
+ asyncCall(resolve, reject) {
328
+ let result = try await self.getCore().getCredential(credentialId: credentialId)
329
+ return try serializeAny(result)
330
+ }
331
+ }
332
+
333
+ @objc(deleteCredential:resolver:rejecter:)
334
+ func deleteCredential(
335
+ credentialId: String,
336
+ resolve: @escaping RCTPromiseResolveBlock,
337
+ reject: @escaping RCTPromiseRejectBlock
338
+ ) {
339
+ asyncCall(resolve, reject) {
340
+ try await self.getCore().deleteCredential(credentialId: credentialId)
341
+ return nil as NSDictionary?
342
+ }
343
+ }
344
+
345
+ @objc(importCredentialSchema:resolver:rejecter:)
346
+ func importCredentialSchema(
347
+ request: NSDictionary,
348
+ resolve: @escaping RCTPromiseResolveBlock,
349
+ reject: @escaping RCTPromiseRejectBlock
350
+ ) {
351
+ asyncCall(resolve, reject) {
352
+ return try await self.getCore().importCredentialSchema(request: try deserialize(request))
353
+ }
354
+ }
355
+
356
+ @objc(getCredentialSchema:resolver:rejecter:)
357
+ func getCredentialSchema(
358
+ credentialSchemaId: String,
359
+ resolve: @escaping RCTPromiseResolveBlock,
360
+ reject: @escaping RCTPromiseRejectBlock
361
+ ) {
362
+ asyncCall(resolve, reject) {
363
+ let result = try await self.getCore().getCredentialSchema(
364
+ credentialSchemaId: credentialSchemaId
365
+ )
366
+ return try serializeAny(result)
367
+ }
368
+ }
369
+
370
+ @objc(getCredentialSchemas:resolver:rejecter:)
371
+ func getCredentialSchemas(
372
+ query: NSDictionary,
373
+ resolve: @escaping RCTPromiseResolveBlock,
374
+ reject: @escaping RCTPromiseRejectBlock
375
+ ) {
376
+ asyncCall(resolve, reject) {
377
+ let result = try await self.getCore().getCredentialSchemas(query: try deserialize(query))
378
+ return try serializeAny(result)
379
+ }
380
+ }
381
+
382
+ @objc(deleteCredentialSchema:resolver:rejecter:)
383
+ func deleteCredentialSchema(
384
+ credentialSchemaId: String,
385
+ resolve: @escaping RCTPromiseResolveBlock,
386
+ reject: @escaping RCTPromiseRejectBlock
387
+ ) {
388
+ asyncCall(resolve, reject) {
389
+ try await self.getCore().deleteCredentialSchema(credentialSchemaId: credentialSchemaId)
390
+ return nil as NSDictionary?
391
+ }
392
+ }
393
+
394
+ @objc(createProofSchema:resolver:rejecter:)
395
+ func createProofSchema(
396
+ request: NSDictionary,
397
+ resolve: @escaping RCTPromiseResolveBlock,
398
+ reject: @escaping RCTPromiseRejectBlock
399
+ ) {
400
+ asyncCall(resolve, reject) {
401
+ return try await self.getCore().createProofSchema(request: try deserialize(request))
402
+ }
403
+ }
404
+
405
+ @objc(getProofSchemas:resolver:rejecter:)
406
+ func getProofSchemas(
407
+ query: NSDictionary,
408
+ resolve: @escaping RCTPromiseResolveBlock,
409
+ reject: @escaping RCTPromiseRejectBlock
410
+ ) {
411
+ asyncCall(resolve, reject) {
412
+ let result = try await self.getCore().getProofSchemas(filter: try deserialize(query))
413
+ return try serializeAny(result)
414
+ }
415
+ }
416
+
417
+ @objc(getProofSchema:resolver:rejecter:)
418
+ func getProofSchema(
419
+ proofSchemaId: String,
420
+ resolve: @escaping RCTPromiseResolveBlock,
421
+ reject: @escaping RCTPromiseRejectBlock
422
+ ) {
423
+ asyncCall(resolve, reject) {
424
+ let result = try await self.getCore().getProofSchema(proofSchemaId: proofSchemaId)
425
+ return try serializeAny(result)
426
+ }
427
+ }
428
+
429
+ @objc(deleteProofSchema:resolver:rejecter:)
430
+ func deleteProofSchema(
431
+ proofSchemaId: String,
432
+ resolve: @escaping RCTPromiseResolveBlock,
433
+ reject: @escaping RCTPromiseRejectBlock
434
+ ) {
435
+ asyncCall(resolve, reject) {
436
+ try await self.getCore().deleteProofSchema(proofSchemaId: proofSchemaId)
437
+ return nil as NSDictionary?
438
+ }
439
+ }
440
+
441
+ @objc(importProofSchema:resolver:rejecter:)
442
+ func importProofSchema(
443
+ request: NSDictionary,
444
+ resolve: @escaping RCTPromiseResolveBlock,
445
+ reject: @escaping RCTPromiseRejectBlock
446
+ ) {
447
+ asyncCall(resolve, reject) {
448
+ return try await self.getCore().importProofSchema(request: try deserialize(request))
449
+ }
450
+ }
451
+
452
+ @objc(createProof:resolver:rejecter:)
453
+ func createProof(
454
+ request: NSDictionary,
455
+ resolve: @escaping RCTPromiseResolveBlock,
456
+ reject: @escaping RCTPromiseRejectBlock
457
+ ) {
458
+ asyncCall(resolve, reject) {
459
+ return try await self.getCore().createProof(request: try deserialize(request))
460
+ }
461
+ }
462
+
463
+ @objc(runTask:resolver:rejecter:)
464
+ func runTask(
465
+ task: String,
466
+ resolve: @escaping RCTPromiseResolveBlock,
467
+ reject: @escaping RCTPromiseRejectBlock
468
+ ) {
469
+ asyncCall(resolve, reject) {
470
+ return try await self.getCore().runTask(task: task)
471
+ }
472
+ }
473
+
474
+ @objc(deleteProofClaims:resolver:rejecter:)
475
+ func deleteProofClaims(
476
+ proofId: String,
477
+ resolve: @escaping RCTPromiseResolveBlock,
478
+ reject: @escaping RCTPromiseRejectBlock
479
+ ) {
480
+ asyncCall(resolve, reject) {
481
+ try await self.getCore().deleteProofClaims(proofId: proofId)
482
+ return nil as NSDictionary?
483
+ }
484
+ }
485
+
486
+ @objc(shareCredentialSchema:resolver:rejecter:)
487
+ func shareCredentialSchema(
488
+ credentialSchemaId: String,
489
+ resolve: @escaping RCTPromiseResolveBlock,
490
+ reject: @escaping RCTPromiseRejectBlock
491
+ ) {
492
+ asyncCall(resolve, reject) {
493
+ let result = try await self.getCore().shareCredentialSchema(
494
+ credentialSchemaId: credentialSchemaId
495
+ )
496
+ return try serializeAny(result)
497
+ }
498
+ }
499
+
500
+ @objc(shareProofSchema:resolver:rejecter:)
501
+ func shareProofSchema(
502
+ proofSchemaId: String,
503
+ resolve: @escaping RCTPromiseResolveBlock,
504
+ reject: @escaping RCTPromiseRejectBlock
505
+ ) {
506
+ asyncCall(resolve, reject) {
507
+ let result = try await self.getCore().shareProofSchema(proofSchemaId: proofSchemaId)
508
+ return try serializeAny(result)
509
+ }
510
+ }
511
+
512
+ @objc(shareProof:request:resolver:rejecter:)
513
+ func shareProof(
514
+ proofId: String,
515
+ request: NSDictionary,
516
+ resolve: @escaping RCTPromiseResolveBlock,
517
+ reject: @escaping RCTPromiseRejectBlock
518
+ ) {
519
+ asyncCall(resolve, reject) {
520
+ let result = try await self.getCore().shareProof(
521
+ proofId: proofId,
522
+ params: try deserialize(request)
523
+ )
524
+ return try serializeAny(result)
525
+ }
526
+ }
527
+
528
+ @objc(getProof:resolver:rejecter:)
529
+ func getProof(
530
+ proofId: String,
531
+ resolve: @escaping RCTPromiseResolveBlock,
532
+ reject: @escaping RCTPromiseRejectBlock
533
+ ) {
534
+ asyncCall(resolve, reject) {
535
+ let result = try await self.getCore().getProof(proofId: proofId)
536
+ return try serializeAny(result)
537
+ }
538
+ }
539
+
540
+ @objc(getProofs:resolver:rejecter:)
541
+ func getProofs(
542
+ query: NSDictionary,
543
+ resolve: @escaping RCTPromiseResolveBlock,
544
+ reject: @escaping RCTPromiseRejectBlock
545
+ ) {
546
+ asyncCall(resolve, reject) {
547
+ let result = try await self.getCore().getProofs(query: try deserialize(query))
548
+ return try serializeAny(result)
549
+ }
550
+ }
551
+
552
+ @objc(deleteProof:resolver:rejecter:)
553
+ func deleteProof(
554
+ proofId: String,
555
+ resolve: @escaping RCTPromiseResolveBlock,
556
+ reject: @escaping RCTPromiseRejectBlock
557
+ ) {
558
+ asyncCall(resolve, reject) {
559
+ try await self.getCore().deleteProof(proofId: proofId)
560
+ return nil as NSDictionary?
561
+ }
562
+ }
563
+
564
+ @objc(proposeProof:organisationId:resolver:rejecter:)
565
+ func proposeProof(
566
+ exchange: String,
567
+ organisationId: String,
568
+ resolve: @escaping RCTPromiseResolveBlock,
569
+ reject: @escaping RCTPromiseRejectBlock
570
+ ) {
571
+ asyncCall(resolve, reject) {
572
+ let result = try await self.getCore().proposeProof(
573
+ exchange: exchange,
574
+ organisationId: organisationId
575
+ )
576
+ return try serializeAny(result)
577
+ }
578
+ }
579
+
580
+ @objc(checkRevocation:forceRefresh:resolver:rejecter:)
581
+ func checkRevocation(
582
+ credentialIds: NSArray,
583
+ forceRefresh: Bool,
584
+ resolve: @escaping RCTPromiseResolveBlock,
585
+ reject: @escaping RCTPromiseRejectBlock
586
+ ) {
587
+ asyncCall(resolve, reject) {
588
+ let result = try await self.getCore().checkRevocation(
589
+ credentialIds: try deserialize(credentialIds),
590
+ forceRefresh: forceRefresh
591
+ )
592
+ return try result.map { try serializeAny($0) }
593
+ }
594
+ }
595
+
596
+ @objc(getHistory:resolver:rejecter:)
597
+ func getHistory(
598
+ query: NSDictionary,
599
+ resolve: @escaping RCTPromiseResolveBlock,
600
+ reject: @escaping RCTPromiseRejectBlock
601
+ ) {
602
+ asyncCall(resolve, reject) {
603
+ let result = try await self.getCore().getHistoryList(query: try deserialize(query))
604
+ return try serializeAny(result)
605
+ }
606
+ }
607
+
608
+ @objc(getHistoryEntry:resolver:rejecter:)
609
+ func getHistoryEntry(
610
+ historyId: String,
611
+ resolve: @escaping RCTPromiseResolveBlock,
612
+ reject: @escaping RCTPromiseRejectBlock
613
+ ) {
614
+ asyncCall(resolve, reject) {
615
+ let result = try await self.getCore().getHistoryEntry(historyId: historyId)
616
+ return try serializeAny(result)
617
+ }
618
+ }
619
+
620
+ @objc(createTrustAnchor:resolver:rejecter:)
621
+ func createTrustAnchor(
622
+ request: NSDictionary,
623
+ resolve: @escaping RCTPromiseResolveBlock,
624
+ reject: @escaping RCTPromiseRejectBlock
625
+ ) {
626
+ asyncCall(resolve, reject) {
627
+ return try await self.getCore().createTrustAnchor(anchor: try deserialize(request))
628
+ }
629
+ }
630
+
631
+ @objc(getTrustAnchor:resolver:rejecter:)
632
+ func getTrustAnchor(
633
+ trustAnchorId: String,
634
+ resolve: @escaping RCTPromiseResolveBlock,
635
+ reject: @escaping RCTPromiseRejectBlock
636
+ ) {
637
+ asyncCall(resolve, reject) {
638
+ let trustAnchor = try await self.getCore().getTrustAnchor(trustAnchorId: trustAnchorId)
639
+ return try serializeAny(trustAnchor)
640
+ }
641
+ }
642
+
643
+ @objc(getTrustAnchors:resolver:rejecter:)
644
+ func getTrustAnchors(
645
+ query: NSDictionary,
646
+ resolve: @escaping RCTPromiseResolveBlock,
647
+ reject: @escaping RCTPromiseRejectBlock
648
+ ) {
649
+ asyncCall(resolve, reject) {
650
+ let result = try await self.getCore().listTrustAnchors(filters: try deserialize(query))
651
+ return try serializeAny(result)
652
+ }
653
+ }
654
+
655
+ @objc(deleteTrustAnchor:resolver:rejecter:)
656
+ func deleteTrustAnchor(
657
+ trustAnchorId: String,
658
+ resolve: @escaping RCTPromiseResolveBlock,
659
+ reject: @escaping RCTPromiseRejectBlock
660
+ ) {
661
+ asyncCall(resolve, reject) {
662
+ try await self.getCore().deleteTrustAnchor(anchorId: trustAnchorId)
663
+ return nil as NSDictionary?
664
+ }
665
+ }
666
+
667
+ @objc(createTrustEntity:resolver:rejecter:)
668
+ func createTrustEntity(
669
+ request: NSDictionary,
670
+ resolve: @escaping RCTPromiseResolveBlock,
671
+ reject: @escaping RCTPromiseRejectBlock
672
+ ) {
673
+ asyncCall(resolve, reject) {
674
+ return try await self.getCore().createTrustEntity(request: try deserialize(request))
675
+ }
676
+ }
677
+
678
+ @objc(getTrustEntities:resolver:rejecter:)
679
+ func getTrustEntities(
680
+ query: NSDictionary,
681
+ resolve: @escaping RCTPromiseResolveBlock,
682
+ reject: @escaping RCTPromiseRejectBlock
683
+ ) {
684
+ asyncCall(resolve, reject) {
685
+ let result = try await self.getCore().listTrustEntities(filters: try deserialize(query))
686
+ return try serializeAny(result)
687
+ }
688
+ }
689
+
690
+ @objc(getTrustEntity:resolver:rejecter:)
691
+ func getTrustEntity(
692
+ trustEntityId: String,
693
+ resolve: @escaping RCTPromiseResolveBlock,
694
+ reject: @escaping RCTPromiseRejectBlock
695
+ ) {
696
+ asyncCall(resolve, reject) {
697
+ let trustEntity = try await self.getCore().getTrustEntity(trustEntityId: trustEntityId)
698
+ return try serializeAny(trustEntity)
699
+ }
700
+ }
701
+
702
+ @objc(getTrustEntityByDid:resolver:rejecter:)
703
+ func getTrustEntityByDid(
704
+ didId: String,
705
+ resolve: @escaping RCTPromiseResolveBlock,
706
+ reject: @escaping RCTPromiseRejectBlock
707
+ ) {
708
+ asyncCall(resolve, reject) {
709
+ let trustEntity = try await self.getCore().getTrustEntityByDid(didId: didId)
710
+ return try serializeAny(trustEntity)
711
+ }
712
+ }
713
+
714
+ @objc(resolveTrustEntityByIdentifier:resolver:rejecter:)
715
+ func resolveTrustEntityByIdentifier(
716
+ request: NSDictionary,
717
+ resolve: @escaping RCTPromiseResolveBlock,
718
+ reject: @escaping RCTPromiseRejectBlock
719
+ ) {
720
+ asyncCall(resolve, reject) {
721
+ let trustEntities = try await self.getCore().resolveTrustEntityByIdentifier(request: try deserialize(request))
722
+ return try serializeAny(trustEntities)
723
+ }
724
+ }
725
+
726
+ @objc(createRemoteTrustEntity:resolver:rejecter:)
727
+ func createRemoteTrustEntity(
728
+ request: NSDictionary,
729
+ resolve: @escaping RCTPromiseResolveBlock,
730
+ reject: @escaping RCTPromiseRejectBlock
731
+ ) {
732
+ asyncCall(resolve, reject) {
733
+ return try await self.getCore().createRemoteTrustEntity(request: try deserialize(request))
734
+ }
735
+ }
736
+
737
+ @objc(getRemoteTrustEntity:resolver:rejecter:)
738
+ func getRemoteTrustEntity(
739
+ didId: String,
740
+ resolve: @escaping RCTPromiseResolveBlock,
741
+ reject: @escaping RCTPromiseRejectBlock
742
+ ) {
743
+ asyncCall(resolve, reject) {
744
+ let trustEntity = try await self.getCore().getRemoteTrustEntity(didId: didId)
745
+ return try serializeAny(trustEntity)
746
+ }
747
+ }
748
+
749
+ @objc(updateRemoteTrustEntity:resolver:rejecter:)
750
+ func updateRemoteTrustEntity(
751
+ request: NSDictionary,
752
+ resolve: @escaping RCTPromiseResolveBlock,
753
+ reject: @escaping RCTPromiseRejectBlock
754
+ ) {
755
+ asyncCall(resolve, reject) {
756
+ return try await self.getCore().updateRemoteTrustEntity(request: try deserialize(request))
757
+ }
758
+ }
759
+
760
+ @objc(createBackup:outputPath:resolver:rejecter:)
761
+ func createBackup(
762
+ password: String,
763
+ outputPath: String,
764
+ resolve: @escaping RCTPromiseResolveBlock,
765
+ reject: @escaping RCTPromiseRejectBlock
766
+ ) {
767
+ asyncCall(resolve, reject) {
768
+ let result = try await self.getCore().createBackup(password: password, outputPath: outputPath)
769
+ return try serializeAny(result)
770
+ }
771
+ }
772
+
773
+ @objc(backupInfo:rejecter:)
774
+ func backupInfo(
775
+ resolve: @escaping RCTPromiseResolveBlock,
776
+ reject: @escaping RCTPromiseRejectBlock
777
+ ) {
778
+ asyncCall(resolve, reject) {
779
+ let result = try await self.getCore().backupInfo()
780
+ return try serializeAny(result)
781
+ }
782
+ }
783
+
784
+ @objc(unpackBackup:inputPath:resolver:rejecter:)
785
+ func unpackBackup(
786
+ password: String,
787
+ inputPath: String,
788
+ resolve: @escaping RCTPromiseResolveBlock,
789
+ reject: @escaping RCTPromiseRejectBlock
790
+ ) {
791
+ asyncCall(resolve, reject) {
792
+ let result = try await self.getCore().unpackBackup(password: password, inputPath: inputPath)
793
+ return try serializeAny(result)
794
+ }
795
+ }
796
+
797
+ @objc(finalizeImport:rejecter:)
798
+ func finalizeImport(
799
+ resolve: @escaping RCTPromiseResolveBlock,
800
+ reject: @escaping RCTPromiseRejectBlock
801
+ ) {
802
+ asyncCall(resolve, reject) {
803
+ try await self.getCore().finalizeImport()
804
+ return nil as NSDictionary?
805
+ }
806
+ }
807
+
808
+ @objc(rollbackImport:rejecter:)
809
+ func rollbackImport(
810
+ resolve: @escaping RCTPromiseResolveBlock,
811
+ reject: @escaping RCTPromiseRejectBlock
812
+ ) {
813
+ asyncCall(resolve, reject) {
814
+ try await self.getCore().rollbackImport()
815
+ return nil as NSDictionary?
816
+ }
817
+ }
818
+
819
+ @objc(resolveJsonldContext:resolver:rejecter:)
820
+ func resolveJsonldContext(
821
+ url: String,
822
+ resolve: @escaping RCTPromiseResolveBlock,
823
+ reject: @escaping RCTPromiseRejectBlock
824
+ ) {
825
+ asyncCall(resolve, reject) {
826
+ let result = try await self.getCore().resolveJsonldContext(url: url)
827
+ return try serializeAny(result)
828
+ }
829
+ }
830
+
831
+ @objc(deleteCache:resolver:rejecter:)
832
+ func deleteCache(
833
+ types: NSArray?,
834
+ resolve: @escaping RCTPromiseResolveBlock,
835
+ reject: @escaping RCTPromiseRejectBlock
836
+ ) {
837
+ asyncCall(resolve, reject) {
838
+ try await self.getCore().deleteCache(types: try deserializeOpt(types))
839
+ return nil as NSDictionary?
840
+ }
841
+ }
842
+
843
+ @objc(uninitialize:resolver:rejecter:)
844
+ func uninitialize(
845
+ deleteData: Bool,
846
+ resolve: @escaping RCTPromiseResolveBlock,
847
+ reject: @escaping RCTPromiseRejectBlock
848
+ ) {
849
+ asyncCall(resolve, reject) {
850
+ try await self.getCore().uninitialize(deleteData: deleteData)
851
+ self.core = nil
852
+ if deleteData, let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage {
853
+ try await rseKeyStorage.delete()
854
+ }
855
+ return nil as NSDictionary?
856
+ }
857
+ }
858
+
859
+ // MARK: Ubiqu specific methods
860
+
861
+ @objc(changeRSEPin:rejecter:)
862
+ func changeRSEPin(
863
+ resolve: @escaping RCTPromiseResolveBlock,
864
+ reject: @escaping RCTPromiseRejectBlock
865
+ ) {
866
+ asyncCall(resolve, reject) {
867
+ guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
868
+ throw BindingError.ErrorResponse(
869
+ data: ErrorResponseBindingDto(
870
+ code: "BR_0184",
871
+ message: "ubiqu not initialized",
872
+ cause: nil
873
+ )
874
+ )
875
+ }
876
+ try await rseKeyStorage.changePin()
877
+ return nil as NSDictionary?
878
+ }
879
+ }
880
+
881
+ @objc(areRSEBiometricsSupported:rejecter:)
882
+ func areRSEBiometricsSupported(
883
+ resolve: @escaping RCTPromiseResolveBlock,
884
+ reject: @escaping RCTPromiseRejectBlock
885
+ ) {
886
+ asyncCall(resolve, reject) {
887
+ guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
888
+ throw BindingError.ErrorResponse(
889
+ data: ErrorResponseBindingDto(
890
+ code: "BR_0184",
891
+ message: "ubiqu not initialized",
892
+ cause: nil
893
+ )
894
+ )
895
+ }
896
+ return rseKeyStorage.areBiometricsSupported
897
+ }
898
+ }
899
+
900
+ @objc(areRSEBiometricsEnabled:rejecter:)
901
+ func areRSEBiometricsEnabled(
902
+ resolve: @escaping RCTPromiseResolveBlock,
903
+ reject: @escaping RCTPromiseRejectBlock
904
+ ) {
905
+ asyncCall(resolve, reject) {
906
+ guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
907
+ throw BindingError.ErrorResponse(
908
+ data: ErrorResponseBindingDto(
909
+ code: "BR_0184",
910
+ message: "ubiqu not initialized",
911
+ cause: nil
912
+ )
913
+ )
914
+ }
915
+ return rseKeyStorage.areBiometricsEnabled
916
+ }
917
+ }
918
+
919
+ @objc(setRSEBiometrics:resolver:rejecter:)
920
+ func setRSEBiometrics(
921
+ enabled: Bool,
922
+ resolve: @escaping RCTPromiseResolveBlock,
923
+ reject: @escaping RCTPromiseRejectBlock
924
+ ) {
925
+ asyncCall(resolve, reject) {
926
+ guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
927
+ throw BindingError.ErrorResponse(
928
+ data: ErrorResponseBindingDto(
929
+ code: "BR_0184",
930
+ message: "ubiqu not initialized",
931
+ cause: nil
932
+ )
933
+ )
934
+ }
935
+ if enabled {
936
+ try await rseKeyStorage.enableBiometrics()
937
+ } else {
938
+ try rseKeyStorage.disableBiometrics()
939
+ }
940
+ return nil as NSDictionary?
941
+ }
942
+ }
943
+
944
+ @objc(resetRSE:rejecter:)
945
+ func resetRSE(
946
+ resolve: @escaping RCTPromiseResolveBlock,
947
+ reject: @escaping RCTPromiseRejectBlock
948
+ ) {
949
+ asyncCall(resolve, reject) {
950
+ if let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage {
951
+ try await rseKeyStorage.delete()
952
+ }
953
+ return nil as NSDictionary?
954
+ }
955
+ }
956
+
957
+ @objc(resetRSEPinFlow:rejecter:)
958
+ func resetRSEPinFlow(
959
+ resolve: @escaping RCTPromiseResolveBlock,
960
+ reject: @escaping RCTPromiseRejectBlock
961
+ ) {
962
+ asyncCall(resolve, reject) {
963
+ guard let rseKeyStorage = self.rseKeyStorage as? RSEKeyStorage else {
964
+ throw BindingError.ErrorResponse(
965
+ data: ErrorResponseBindingDto(
966
+ code: "BR_0184",
967
+ message: "ubiqu not initialized",
968
+ cause: nil
969
+ )
970
+ )
971
+ }
972
+ try await rseKeyStorage.resetPinFlow()
973
+ return nil as NSDictionary?
974
+ }
975
+ }
976
+ }
977
+
978
+ // MARK: RCTEventEmitter
979
+
980
+ extension ProcivisOneCoreModule {
981
+
982
+ override func supportedEvents() -> [String]! {
983
+ return ProcivisOneCoreEventEmitter.supportedEvents
984
+ }
985
+
986
+ override func startObserving() {
987
+ ProcivisOneCoreEventEmitter.hasListeners = true
988
+ }
989
+
990
+ override func stopObserving() {
991
+ ProcivisOneCoreEventEmitter.hasListeners = false
992
+ }
993
+
994
+ override func sendEvent(withName name: String!, body: Any!) {
995
+ guard ProcivisOneCoreEventEmitter.hasListeners else {
996
+ return
823
997
  }
998
+ super.sendEvent(withName: name, body: body)
999
+ }
824
1000
  }