@procivis/react-native-one-core 1.75488.0 → 1.81885.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 (167) hide show
  1. package/README.md +15 -14
  2. package/android/build.gradle +0 -11
  3. package/android/src/main/java/ch/procivis/one/core/DeserializeSpecific.kt +1 -15
  4. package/android/src/main/java/ch/procivis/one/core/ProcivisOneCoreModule.kt +4 -4
  5. package/android/src/main/java/ch/procivis/one/core/Serialize.kt +0 -2
  6. package/android/src/main/java/ch/procivis/one/core/SerializeSpecific.kt +124 -107
  7. package/android/src/main/java/ch/procivis/one/core/ubiqu/PinPadViewManager.kt +5 -8
  8. package/android/src/main/java/ch/procivis/one/core/ubiqu/UbiquKeyStorage.kt +17 -222
  9. package/core-sdk.json +6 -6
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.js +2 -0
  12. package/dist/src/config.d.ts +3 -2
  13. package/dist/src/config.js +5 -0
  14. package/dist/src/core.d.ts +9 -182
  15. package/dist/src/core.js +9 -20
  16. package/dist/src/nfc.d.ts +0 -5
  17. package/dist/src/one-core-uniffi-intf.d.ts +1773 -0
  18. package/dist/src/one-core-uniffi-intf.js +356 -0
  19. package/ios/Deserialize.swift +0 -28
  20. package/ios/ProcivisOneCoreModule.m +4 -4
  21. package/ios/ProcivisOneCoreModule.swift +10 -10
  22. package/ios/RSEKeyStorage.swift +17 -571
  23. package/ios/RSEPinPad.swift +3 -56
  24. package/ios/Serialize.swift +80 -44
  25. package/package.json +4 -2
  26. package/react-native-one-core.podspec +1 -1
  27. package/android/build.gradle_opensource +0 -122
  28. package/android/libs/core-reactnative-compatible-2025.0305.1.aar +0 -0
  29. package/android/src/main/java/ch/procivis/one/core/ubiqu/PinPadRunner.kt +0 -123
  30. package/android/src/main/java/ch/procivis/one/core/ubiqu/PinPadViewManager.kt_opensource +0 -20
  31. package/android/src/main/java/ch/procivis/one/core/ubiqu/PinPadWrapper.kt +0 -396
  32. package/android/src/main/java/ch/procivis/one/core/ubiqu/RegistrationManager.kt +0 -59
  33. package/android/src/main/java/ch/procivis/one/core/ubiqu/TokenManager.kt +0 -48
  34. package/android/src/main/java/ch/procivis/one/core/ubiqu/UbiquKeyStorage.kt_opensource +0 -63
  35. package/android/src/main/java/ch/procivis/one/core/ubiqu/Util.kt +0 -74
  36. package/android/src/main/java/ch/procivis/one/core/ubiqu/dataformats/CreateIdentityRequest.kt +0 -9
  37. package/android/src/main/java/ch/procivis/one/core/ubiqu/dataformats/CreateIdentityResponse.kt +0 -9
  38. package/android/src/main/java/ch/procivis/one/core/ubiqu/dataformats/RegisterRSEResponse.kt +0 -10
  39. package/dist/src/backup.d.ts +0 -22
  40. package/dist/src/backup.js +0 -1
  41. package/dist/src/cache.d.ts +0 -11
  42. package/dist/src/cache.js +0 -12
  43. package/dist/src/credential.d.ts +0 -201
  44. package/dist/src/credential.js +0 -44
  45. package/dist/src/credentialSchema.d.ts +0 -135
  46. package/dist/src/credentialSchema.js +0 -34
  47. package/dist/src/did.d.ts +0 -63
  48. package/dist/src/did.js +0 -27
  49. package/dist/src/history.d.ts +0 -101
  50. package/dist/src/history.js +0 -63
  51. package/dist/src/identifier.d.ts +0 -133
  52. package/dist/src/identifier.js +0 -29
  53. package/dist/src/key.d.ts +0 -17
  54. package/dist/src/key.js +0 -1
  55. package/dist/src/list.d.ts +0 -14
  56. package/dist/src/list.js +0 -5
  57. package/dist/src/organisation.d.ts +0 -9
  58. package/dist/src/organisation.js +0 -1
  59. package/dist/src/proof.d.ts +0 -234
  60. package/dist/src/proof.js +0 -43
  61. package/dist/src/proofSchema.d.ts +0 -116
  62. package/dist/src/proofSchema.js +0 -9
  63. package/dist/src/trust.d.ts +0 -173
  64. package/dist/src/trust.js +0 -44
  65. package/dist/src/walletUnit.d.ts +0 -30
  66. package/dist/src/walletUnit.js +0 -11
  67. package/ios/RSEKeyStorage.swift_opensource +0 -61
  68. package/ios/RSEPinPad.swift_opensource +0 -21
  69. package/ios/UBQKit.xcframework/Info.plist +0 -44
  70. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Assets.car +0 -0
  71. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFCompatibilityMacros.h +0 -37
  72. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFHTTPSessionManager.h +0 -304
  73. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFNetworkReachabilityManager.h +0 -216
  74. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFNetworking.h +0 -41
  75. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFPlainTextRequestSerializer.h +0 -16
  76. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFSecurityPolicy.h +0 -156
  77. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFURLRequestSerialization.h +0 -479
  78. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFURLResponseSerialization.h +0 -310
  79. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/AFURLSessionManager.h +0 -501
  80. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/CardRequestProtocol.h +0 -72
  81. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/Constants.h +0 -222
  82. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/DeviceBindProtocol.h +0 -38
  83. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/DomainSecurityModule.h +0 -43
  84. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/ErrorDomains.h +0 -68
  85. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/FreeAssetProtocol.h +0 -40
  86. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/GDataXMLNode.h +0 -214
  87. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/NSDictionary+Utilities.h +0 -23
  88. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/NSFileManager+Utilities.h +0 -20
  89. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/NSString+Utilities.h +0 -23
  90. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/NSURL+Utilities.h +0 -12
  91. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/ProtocolBase.h +0 -38
  92. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/ResetPinProtocol.h +0 -45
  93. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/Settings.h +0 -120
  94. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequest.h +0 -58
  95. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestBaseProcessor.h +0 -37
  96. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestBindProcessor.h +0 -34
  97. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestNullProcessor.h +0 -28
  98. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestResetPinProcessor.h +0 -35
  99. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestUnlockProcessor.h +0 -31
  100. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQCardRequestUseProcessor.h +0 -34
  101. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQKit-Swift.h +0 -761
  102. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQKit.h +0 -56
  103. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Headers/UBQPacket.h +0 -38
  104. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Info.plist +0 -0
  105. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios.abi.json +0 -89006
  106. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios.private.swiftinterface +0 -1099
  107. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  108. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios.swiftinterface +0 -1099
  109. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/Modules/module.modulemap +0 -11
  110. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/UBQKit +0 -0
  111. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/_CodeSignature/CodeResources +0 -597
  112. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/certs +0 -0
  113. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/checksums +0 -0
  114. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/pinning_pub +0 -0
  115. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/static +0 -0
  116. package/ios/UBQKit.xcframework/ios-arm64/UBQKit.framework/stream +0 -0
  117. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Assets.car +0 -0
  118. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFCompatibilityMacros.h +0 -37
  119. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFHTTPSessionManager.h +0 -304
  120. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFNetworkReachabilityManager.h +0 -216
  121. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFNetworking.h +0 -41
  122. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFPlainTextRequestSerializer.h +0 -16
  123. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFSecurityPolicy.h +0 -156
  124. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFURLRequestSerialization.h +0 -479
  125. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFURLResponseSerialization.h +0 -310
  126. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/AFURLSessionManager.h +0 -501
  127. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/CardRequestProtocol.h +0 -72
  128. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/Constants.h +0 -222
  129. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/DeviceBindProtocol.h +0 -38
  130. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/DomainSecurityModule.h +0 -43
  131. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/ErrorDomains.h +0 -68
  132. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/FreeAssetProtocol.h +0 -40
  133. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/GDataXMLNode.h +0 -214
  134. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/NSDictionary+Utilities.h +0 -23
  135. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/NSFileManager+Utilities.h +0 -20
  136. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/NSString+Utilities.h +0 -23
  137. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/NSURL+Utilities.h +0 -12
  138. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/ProtocolBase.h +0 -38
  139. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/ResetPinProtocol.h +0 -45
  140. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/Settings.h +0 -120
  141. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequest.h +0 -58
  142. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestBaseProcessor.h +0 -37
  143. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestBindProcessor.h +0 -34
  144. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestNullProcessor.h +0 -28
  145. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestResetPinProcessor.h +0 -35
  146. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestUnlockProcessor.h +0 -31
  147. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQCardRequestUseProcessor.h +0 -34
  148. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQKit-Swift.h +0 -1522
  149. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQKit.h +0 -56
  150. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Headers/UBQPacket.h +0 -38
  151. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Info.plist +0 -0
  152. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios-simulator.abi.json +0 -89006
  153. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +0 -1099
  154. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  155. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +0 -1099
  156. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +0 -89006
  157. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +0 -1099
  158. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  159. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/UBQKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +0 -1099
  160. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/Modules/module.modulemap +0 -11
  161. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/UBQKit +0 -0
  162. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/_CodeSignature/CodeResources +0 -652
  163. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/certs +0 -0
  164. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/checksums +0 -0
  165. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/pinning_pub +0 -0
  166. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/static +0 -0
  167. package/ios/UBQKit.xcframework/ios-arm64_x86_64-simulator/UBQKit.framework/stream +0 -0
@@ -1,268 +1,63 @@
1
1
  package ch.procivis.one.core.ubiqu
2
2
 
3
- import android.annotation.SuppressLint
4
- import android.util.Base64
5
- import android.util.Log
6
- import androidx.appcompat.app.AppCompatActivity
7
3
  import ch.procivis.one.core.GeneratedKeyBindingDto
8
4
  import ch.procivis.one.core.NativeKeyStorage
9
5
  import ch.procivis.one.core.NativeKeyStorageException
10
- import ch.procivis.one.core.ubiqu.PinPadRunner.RequestType
11
- import ch.procivis.one.core.ubiqu.PinPadRunner.cancelPinPadFlow
12
- import ch.procivis.one.core.ubiqu.PinPadRunner.startPinPadFlow
13
- import ch.procivis.one.core.ubiqu.Util.asyncCallback
14
- import ch.procivis.one.core.ubiqu.Util.exceptionWrapper
15
- import ch.procivis.one.core.ubiqu.Util.runOnUIThread
16
- import ch.procivis.one.core.ubiqu.dataformats.CreateIdentityRequest
17
- import ch.procivis.one.core.ubiqu.dataformats.RegisterRSEResponse
18
6
  import com.facebook.react.bridge.ReactApplicationContext
19
- import com.ubiqu.eid.sdk.UbqSdk
20
- import com.ubiqu.eid.sdk.backend.assets.UbqAsset
21
- import com.ubiqu.eid.sdk.backend.assets.UbqDerivedAsset
22
- import com.ubiqu.eid.sdk.dataformats.UnsignedData
23
- import com.ubiqu.eid.sdk.enums.CryptoTypes
24
- import com.ubiqu.eid.sdk.enums.UbqAssetState
25
- import com.ubiqu.eid.sdk.requests.UbqRequestFlow
26
- import com.ubiqu.eid.sdk.utils.Utilities.checkBiometricsAvailable
27
- import com.ubiqu.eid.sdk.utils.Utilities.checkBiometricsSupported
28
- import java.util.Arrays
29
- import java.util.UUID
30
7
 
31
- @SuppressLint("LogNotTimber")
8
+ // Dummy implementation for licensed library
32
9
  class UbiquKeyStorage(private val context: ReactApplicationContext) : NativeKeyStorage {
33
10
  companion object {
34
- private const val TAG = "ch.procivis.one.core.ubiqu.UbiquKeyStorage"
35
-
36
- // Procivis secrets for Ubiqu
37
- private const val CONFIG_FILE_CONTENT = "{" +
38
- "\"id\": \"26c46847-152e-44e8-b73a-b7d4c51c7074\"," +
39
- "\"version\": \"0\"," +
40
- "\"content\": \"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\"," +
41
- "\"signature\": \"ijEe2xRd36VNR7WwAgDqBbt1jpvuqS/NJL6RG+w3x9gWImR/wm/7W3mCHTlEEJ6AS0md2hVZG1pKvZqApAG788xIeVSSDfuMYn57yCu8XPBVloQazGQu4xU9WjbocbKc5VNtu0Sb1us5tBsW1wJt8eQLaPErihEcQ9HW/EaXz1h5s4pKwed/bsuLtH1HdCulLMs1IKhJKuSWzjuaf2l9Tmg2Z354C2mPm8UnXX2TE77PVxCXegIic9U6tDOgelDgGLjKFLbZwkxpuK8kSRPnvSS/K8vkyl+5KxQEwNL6DC+glFWDwB3PpWi/reniqc5QzrBMUgsdMMoPTaWaXi9F8A==\"" +
42
- "}"
43
- private const val IDENTITY_SERVICE_URL = "https://api.identity.strongpin.ubiqu-sandbox.com"
44
- private const val ORGANISATION_ID = "88e5fe80-106e-465c-a29d-1822d3790feb"
45
- private const val TOKEN_GENERATOR_URL =
46
- "https://api.token-generator.strongpin.ubiqu-sandbox.com/ubiqu/"
47
- private const val API_KEY =
48
- "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaS5pZGVudGl0eS5zdHJvbmdwaW4udWJpcXUtc2FuZGJveC5jb20iLCJpYXQiOjE3MzgzMzY2NTksImp0aSI6Ijc2NTY0M2FhLTI2NzgtNDFjZC04N2RiLThhODhmMzdjZDVhNSIsInNjb3BlIjoic2VydmljZV9hY2NvdW50Iiwic3ViIjoicHJvY2l2aXMtdGVzdCIsImF1ZCI6Imh0dHBzOi8vYXBpLnRva2VuLWdlbmVyYXRvci5zdHJvbmdwaW4udWJpcXUtc2FuZGJveC5jb20vdWJpcXUvIiwidG9rZW5fdHlwZSI6ImFwaV9rZXkifQ.RZtik0TlyoCd8M5BIKCsa0vQVols9eqB3QsvxPK-t5BvQO-v39VZoEQWahQCVQ2OKScEKX_EUeFiK0v1kzTLvKVGIIYuLYIBYJf6QQkc2MWroco54iDPMnK6_8J7EdRXdDhDH3-ukpzRrHwvOfAH50WGNco1U5QSqwvuwoWYWVANBZSBCSOMI4zYrNomEUbo04b-V10VjdHYMcpac14XxSNaxATSEliDVGv_JrAEOXSTs49ebGLT4OOdLHLoAfwu1NylpbvJQnhJYlpudzWf-46FM58uxCYs0DphYMtC6sC0XM1nhvcgli1ngzn-llSyaCQ1TY3PStU8RKxCtfa95A"
49
-
50
- // ASN.1 prefix used for EdDSA public keys
51
- private val EDDSA_PREFIX_ASN1 =
52
- byteArrayOf(0x30, 0x2a, 0x30, 0x05, 0x06, 0x03, 0x2b, 0x65, 0x70, 0x03, 0x21, 0x00)
53
-
54
- @Volatile
55
11
  var listenerCount = 0
56
12
  }
57
13
 
58
14
  // ==== NativeKeyStorage interface
59
15
  override suspend fun generateKey(keyAlias: String): GeneratedKeyBindingDto {
60
- return exceptionWrapper {
61
- ensureUbiquSDKInitialized()
62
-
63
- // a locked asset can be left out if previous initialization failed,
64
- // in such case start all over
65
- if (UbqSdk.assets.isNotEmpty() && UbqSdk.assets[0].state != UbqAssetState.NORMAL) {
66
- Log.w(TAG, "Invalid asset state: ${UbqSdk.assets[0].state.name}, resetting")
67
- UbqSdk.reset()
68
- }
69
-
70
- if (UbqSdk.assets.isEmpty()) {
71
- val accessToken = TokenManager.getAccessToken()
72
- val request = CreateIdentityRequest(UUID.randomUUID().toString())
73
- val identityResponse = RegistrationManager.createIdentity(accessToken, request)
74
- val rseResponse =
75
- RegistrationManager.registerRse(accessToken, identityResponse.body()!!.sub)
76
- createMainUbqAsset(rseResponse.body()!!)
77
- }
78
-
79
- val asset = UbqSdk.assets[0]
80
- val newKey = asset.createDerivedAsset(context, CryptoTypes.EdDSA_25519)
81
-
82
- val keyContent = parsePemPubKeyContent(newKey.publicKey)
83
- if (keyContent.size != 44) {
84
- throw NativeKeyStorageException.KeyGenerationFailure("Invalid key length")
85
- }
86
-
87
- val prefix = Arrays.copyOfRange(keyContent, 0, 12)
88
- if (!(EDDSA_PREFIX_ASN1 contentEquals prefix)) {
89
- throw NativeKeyStorageException.KeyGenerationFailure("Invalid key prefix")
90
- }
91
-
92
- val publicKey = Arrays.copyOfRange(keyContent, 12, 44)
93
- val keyReference = newKey.uuid.toString().toByteArray(Charsets.UTF_8)
94
- return@exceptionWrapper GeneratedKeyBindingDto(keyReference, publicKey)
95
- }
16
+ throw NativeKeyStorageException.Unsupported()
96
17
  }
97
18
 
98
19
  override suspend fun sign(keyReference: ByteArray, message: ByteArray): ByteArray {
99
- return exceptionWrapper {
100
- val derivedAssetId = UUID.fromString(keyReference.toString(Charsets.UTF_8))
101
-
102
- val key =
103
- getMainUbqAsset().listDerivedAssets(context).find { it.uuid == derivedAssetId }
104
- ?: throw NativeKeyStorageException.SignatureFailure("Ubiqu key not found")
105
-
106
- val signature = signWithUbqAsset(key, message)
107
- ?: throw NativeKeyStorageException.SignatureFailure("No signature provided")
108
-
109
- return@exceptionWrapper Base64.decode(signature, Base64.DEFAULT)
110
- }
20
+ throw NativeKeyStorageException.Unsupported()
111
21
  }
112
22
 
113
23
  override suspend fun generateAttestation(keyReference: ByteArray, nonce: String?): List<String> {
114
24
  throw NativeKeyStorageException.Unsupported()
115
25
  }
116
26
 
117
- override suspend fun signWithAttestationKey(keyReference: ByteArray, message: ByteArray): ByteArray {
27
+ override suspend fun generateAttestationKey(keyAlias: String, nonce: String?): GeneratedKeyBindingDto {
118
28
  throw NativeKeyStorageException.Unsupported()
119
29
  }
120
30
 
121
- override suspend fun generateAttestationKey(keyAlias: String, nonce: String?): GeneratedKeyBindingDto {
31
+ override suspend fun signWithAttestationKey(keyReference: ByteArray, message: ByteArray): ByteArray {
122
32
  throw NativeKeyStorageException.Unsupported()
123
33
  }
124
34
 
125
35
  // ==== public interface
126
- suspend fun changePin(): String? {
127
- return exceptionWrapper {
128
- val asset = getMainUbqAsset()
129
- return@exceptionWrapper runOnUIThread { promise ->
130
- asset.changePin(onStarted = {
131
- startFlow(it, RequestType.CHANGE_PIN, promise)
132
- }, onStartFailure = { e ->
133
- promise.fail(e)
134
- })
135
- }
136
- }
36
+ fun changePin(): String? {
37
+ throw NativeKeyStorageException.Unsupported()
137
38
  }
138
39
 
139
40
  fun getBiometricsSupported(): Boolean {
140
- return exceptionWrapper {
141
- return@exceptionWrapper checkBiometricsSupported(context) && checkBiometricsAvailable(
142
- context
143
- )
144
- }
41
+ throw NativeKeyStorageException.Unsupported()
145
42
  }
146
43
 
147
- suspend fun getBiometricsEnabled(): Boolean {
148
- return exceptionWrapper {
149
- return@exceptionWrapper getMainUbqAsset().biometricsEnabled
150
- }
44
+ fun getBiometricsEnabled(): Boolean {
45
+ throw NativeKeyStorageException.Unsupported()
151
46
  }
152
47
 
153
- suspend fun enableBiometrics(verifyBiometrics: Boolean): String? {
154
- return exceptionWrapper {
155
- val asset = getMainUbqAsset()
156
- return@exceptionWrapper runOnUIThread { promise ->
157
- val activity =
158
- context.currentActivity as? AppCompatActivity
159
- ?: throw NativeKeyStorageException.Unknown("No activity")
160
- asset.addBiometrics(activity, verifyBiometrics, onStarted = {
161
- startFlow(it, RequestType.ADD_BIOMETRICS, promise)
162
- }, onStartFailure = { e ->
163
- promise.fail(e)
164
- })
165
- }
166
- }
48
+ fun enableBiometrics(verifyBiometrics: Boolean): String? {
49
+ throw NativeKeyStorageException.Unsupported()
167
50
  }
168
51
 
169
- suspend fun disableBiometrics() {
170
- return exceptionWrapper {
171
- getMainUbqAsset().removeBiometrics()
172
- }
52
+ fun disableBiometrics() {
53
+ throw NativeKeyStorageException.Unsupported()
173
54
  }
174
55
 
175
- suspend fun reset() {
176
- return exceptionWrapper {
177
- ensureUbiquSDKInitialized()
178
- UbqSdk.reset()
179
- }
56
+ fun reset() {
57
+ throw NativeKeyStorageException.Unsupported()
180
58
  }
181
59
 
182
60
  fun resetPinFlow() {
183
- return exceptionWrapper {
184
- cancelPinPadFlow()
185
- }
186
- }
187
-
188
- // ==== private methods
189
- @Volatile
190
- private var sdkInitialized = false
191
- private suspend fun ensureUbiquSDKInitialized() {
192
- if (sdkInitialized) return
193
- return runOnUIThread { promise ->
194
- val activity = context.currentActivity
195
- ?: throw NativeKeyStorageException.Unknown("No current activity")
196
-
197
- UbqSdk.enableLogging(2)
198
-
199
- val configFile = CONFIG_FILE_CONTENT.byteInputStream(Charsets.UTF_8)
200
- UbqSdk.initialize(activity.application, configFile)
201
-
202
- RegistrationManager.build(IDENTITY_SERVICE_URL, ORGANISATION_ID)
203
- TokenManager.build(TOKEN_GENERATOR_URL, API_KEY)
204
-
205
- sdkInitialized = true
206
- promise.succeed(Unit)
207
- }
208
- }
209
-
210
- private suspend fun createMainUbqAsset(rseResponse: RegisterRSEResponse): String? {
211
- return runOnUIThread { promise ->
212
- UbqSdk.subscribe(
213
- rseResponse.nonce,
214
- rseResponse.puk,
215
- onStarted = {
216
- startFlow(it, RequestType.SUBSCRIBE, promise)
217
- },
218
- onStartFailure = { e ->
219
- promise.fail(e)
220
- }
221
- )
222
- }
223
- }
224
-
225
- private suspend fun getMainUbqAsset(): UbqAsset {
226
- ensureUbiquSDKInitialized()
227
-
228
- if (UbqSdk.assets.isEmpty()) {
229
- throw NativeKeyStorageException.Unknown("Ubiqu main asset missing")
230
- }
231
- val asset = UbqSdk.assets[0]
232
- if (asset.state != UbqAssetState.NORMAL) {
233
- throw NativeKeyStorageException.Unknown("Ubiqu main asset in wrong state: ${asset.state.name}")
234
- }
235
- return asset
236
- }
237
-
238
- @OptIn(ExperimentalStdlibApi::class)
239
- private suspend fun signWithUbqAsset(key: UbqDerivedAsset, message: ByteArray): String? {
240
- return asyncCallback { promise ->
241
- val hexMessage = UnsignedData(message.toHexString())
242
- key.use(context, hexMessage, onStarted = {
243
- startFlow(it, RequestType.TRANSACTION, promise)
244
- }, onStartFailure = { e ->
245
- promise.fail(e)
246
- })
247
- }
248
- }
249
-
250
- private fun parsePemPubKeyContent(pem: String): ByteArray {
251
- val base64Content = pem.split("\n").filter { part ->
252
- part != "-----BEGIN PUBLIC KEY-----" && part != "-----END PUBLIC KEY-----"
253
- }.joinToString(separator = "")
254
- return Base64.decode(base64Content, Base64.DEFAULT)
255
- }
256
-
257
- private fun startFlow(
258
- flow: UbqRequestFlow,
259
- requestType: RequestType,
260
- promise: Util.Promise<String?>
261
- ) {
262
- if (listenerCount == 0) {
263
- promise.fail(NativeKeyStorageException.Unknown("No UI listeners"))
264
- } else {
265
- startPinPadFlow(context, flow, requestType, promise)
266
- }
61
+ throw NativeKeyStorageException.Unsupported()
267
62
  }
268
63
  }
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/75488/android/onecore-debug.aar",
5
- "sha1": "82090e020b12f7dd20ee474659fb195016db809e"
4
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/81885/android/onecore-debug.aar",
5
+ "sha1": "c3d51c2d8d7fe33f2d96f3c86940eebaf9a4020f"
6
6
  },
7
7
  "release": {
8
- "url": "https://onesdk.blob.core.windows.net/core-sdk/75488/android/onecore-release.aar",
9
- "sha1": "1dc1697ac7f869476111fb5eb82cc59efa4fd671"
8
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/81885/android/onecore-release.aar",
9
+ "sha1": "89f8fe0cd515100fa9eb701128a140f3c3b535c8"
10
10
  }
11
11
  },
12
12
  "ios": {
13
- "url": "https://onesdk.blob.core.windows.net/core-sdk/75488/ios/deploy.zip",
14
- "sha1": "c54194bbcc1c6907324360121b079af3c406a455"
13
+ "url": "https://onesdk.blob.core.windows.net/core-sdk/81885/ios/deploy.zip",
14
+ "sha1": "466211b3ff0189cd55462fc2175da099937bc2b7"
15
15
  }
16
16
  }
package/dist/index.d.ts CHANGED
@@ -2,7 +2,10 @@ import { ONECore } from "./src/core";
2
2
  import * as ubiqu from "./src/ubiqu";
3
3
  export * from "./src/core";
4
4
  export * from "./src/error";
5
+ export * from "./src/nfc";
6
+ /** @hidden */
5
7
  export declare const Ubiqu: typeof ubiqu;
8
+ /** @hidden */
6
9
  export declare namespace Ubiqu {
7
10
  type PinEventType = ubiqu.PinEventType;
8
11
  type PinFlowType = ubiqu.PinFlowType;
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ import { interfaceMethodNames } from "./src/core";
4
4
  import * as ubiqu from "./src/ubiqu";
5
5
  export * from "./src/core";
6
6
  export * from "./src/error";
7
+ export * from "./src/nfc";
8
+ /** @hidden */
7
9
  export const Ubiqu = ubiqu;
8
10
  const ONE = NativeModules.ProcivisOneCoreModule;
9
11
  // New Architecture bridgeless issue workaround: see https://github.com/facebook/react-native/issues/43221
@@ -1,4 +1,4 @@
1
- import { TrustEntityTypeEnum } from "./trust";
1
+ import { TrustEntityTypeBindingEnum } from "./one-core-uniffi-intf";
2
2
  export declare enum KeyAlgorithmFeatureEnum {
3
3
  GENERATE_CSR = "GENERATE_CSR"
4
4
  }
@@ -132,7 +132,7 @@ export declare enum TrustOperation {
132
132
  }
133
133
  export interface TrustCapabilities {
134
134
  operations: TrustOperation[];
135
- supportedTypes: TrustEntityTypeEnum[];
135
+ supportedTypes: TrustEntityTypeBindingEnum[];
136
136
  }
137
137
  export interface Config {
138
138
  format: ConfigEntities<FormatCapabilities>;
@@ -141,6 +141,7 @@ export interface Config {
141
141
  transport: ConfigEntities;
142
142
  revocation: ConfigEntities<RevocationCapabilities>;
143
143
  did: ConfigEntities<DidCapabilities>;
144
+ identifier: ConfigEntities;
144
145
  datatype: ConfigEntities<undefined, DataTypeParams>;
145
146
  keyAlgorithm: ConfigEntities<KeyAlgorithmCapabilities, {}>;
146
147
  keyStorage: ConfigEntities<KeyStorageCapabilities>;
@@ -53,3 +53,8 @@ export var TrustOperation;
53
53
  TrustOperation["Publish"] = "PUBLISH";
54
54
  TrustOperation["Lookup"] = "LOOKUP";
55
55
  })(TrustOperation || (TrustOperation = {}));
56
+ // Typescript automatic assertions to keep the fields of ONECore ConfigBindingDto and typed Config in sync
57
+ /** assert that all fields listed in {@link ConfigBindingDto} exist in {@link Config} */
58
+ const missingFieldsCheck = null;
59
+ /** assert that all fields listed in {@link Config} exist in {@link ConfigBindingDto} */
60
+ const extraFieldsCheck = null;
@@ -1,186 +1,13 @@
1
- import { BackupCreate, ImportBackupMetadata, UnexportableEntities } from "./backup";
2
1
  import { Config } from "./config";
3
- import { AuthorizationCodeFlow, ContinueIssuanceResponse, CredentialDetail, CredentialListItem, CredentialListQuery, CredentialRevocationCheckResponse, HolderAcceptCredentialRequest, InitiateIssuanceRequest, InitiateIssuanceResponse, InvitationResultCredentialIssuance } from "./credential";
4
- import { CredentialSchema, CredentialSchemaDetail, CredentialSchemaListQuery, ImportCredentialSchemaRequest, ShareCredentialSchemaResponse } from "./credentialSchema";
5
- import { DidListItem, DidListQuery, DidRequest } from "./did";
6
- import { HistoryListItem, HistoryListQuery } from "./history";
7
- import { KeyRequest } from "./key";
8
- import { ItemList } from "./list";
9
- import { CreateProofRequest, InvitationResultProofRequest, PresentationDefinition, PresentationDefinitionRequestedCredential, PresentationDefinitionV2, PresentationSubmitCredentialRequest, PresentationSubmitV2CredentialRequest, ProofDetail, ProofListItem, ProofListQuery, ProposeProofRequest, ProposeProofResponse, ShareProofRequest, ShareProofResponse } from "./proof";
10
- import { CreateProofSchemaRequest, ImportProofSchemaRequest, ProofSchema, ProofSchemaListItem, ProofSchemaListQuery, ShareProofSchemaResponse } from "./proofSchema";
11
- import { CreateRemoteTrustEntityRequest, CreateTrustAnchorRequest, CreateTrustEntityRequest, RemoteTrustEntity, ResolvedIdentifierTrustEntity, ResolveTrustEntityByIdentifierRequest, TrustAnchor, TrustAnchorListItem, TrustAnchorListQuery, TrustEntity, TrustEntityListItem, TrustEntityListQuery, UpdateRemoteTrustEntityRequest } from "./trust";
12
- import { CacheType } from "./cache";
13
- import { CreateOrganisationRequest, UpsertOrganisationRequest } from "./organisation";
14
- import { CreateIdentifierRequest, IdentifierDetail, IdentifierListItem, IdentifierListQuery } from "./identifier";
15
- import { HolderRegisterWalletUnitRequest, HolderWalletUnitDetail } from "./walletUnit";
16
- import { NfcScanRequest } from "./nfc";
17
- export * from "./backup";
18
- export * from "./cache";
2
+ import { OneCoreBinding } from "./one-core-uniffi-intf";
3
+ export * from "./one-core-uniffi-intf";
19
4
  export * from "./config";
20
- export * from "./credential";
21
- export * from "./credentialSchema";
22
- export * from "./did";
23
- export * from "./identifier";
24
- export * from "./history";
25
- export * from "./key";
26
- export * from "./nfc";
27
- export * from "./list";
28
- export * from "./organisation";
29
- export * from "./proof";
30
- export * from "./proofSchema";
31
- export * from "./trust";
32
- export * from "./walletUnit";
33
- export interface Version {
34
- target: string;
35
- buildTime: string;
36
- branch: string;
37
- tag: string;
38
- commit: string;
39
- rustVersion: string;
40
- pipelineId: string;
41
- }
42
- export type InvitationResult = InvitationResultCredentialIssuance | InvitationResultProofRequest | AuthorizationCodeFlow;
43
- export interface HandleInvitationRequest {
44
- /** Typically encoded as a QR code or deep link by the issuer or
45
- * verifier. For example:
46
- * "https://example.com/credential-offer" */
47
- url: string;
48
- organisationId: string;
49
- /** For configurations with multiple transport protocols enabled
50
- * you can specify which one to use for this interaction. */
51
- transport?: string[];
52
- /** For issuer-initiated Authorization Code Flows, provide the
53
- * authorization server with the URI it should return the user
54
- * to once authorization is complete. For example:
55
- * "myapp://example". */
56
- redirectUri?: string;
57
- }
58
- export interface ResolveJsonLdContextResponse {
59
- context: string;
60
- }
61
- export interface ONECore {
62
- getVersion(): Promise<Version>;
5
+ export interface ONECore extends Omit<OneCoreBinding, "version" | "getConfig"> {
6
+ getVersion(): Promise<ReturnType<OneCoreBinding["version"]>>;
63
7
  getConfig(): Promise<Config>;
64
- createOrganisation(request: CreateOrganisationRequest): Promise<string>;
65
- upsertOrganisation(request: UpsertOrganisationRequest): Promise<void>;
66
- generateKey(keyRequest: KeyRequest): Promise<string>;
67
- createDid(didRequest: DidRequest): Promise<string>;
68
- getDids(query: DidListQuery): Promise<ItemList<DidListItem>>;
69
- createIdentifier(identifierRequest: CreateIdentifierRequest): Promise<string>;
70
- getIdentifiers(query: IdentifierListQuery): Promise<ItemList<IdentifierListItem>>;
71
- getIdentifier(identifierId: IdentifierListItem["id"]): Promise<IdentifierDetail>;
72
- deleteIdentifier(identifierId: IdentifierListItem["id"]): Promise<void>;
73
- /**
74
- * For a wallet, handles the interaction once the wallet connects to a share
75
- * endpoint URL (for example, scans the QR code of an offered credential or
76
- * request for proof).
77
- */
78
- handleInvitation(request: HandleInvitationRequest): Promise<InvitationResult>;
79
- holderAcceptCredential(request: HolderAcceptCredentialRequest): Promise<CredentialDetail["id"]>;
80
- holderRejectCredential(interactionId: InvitationResultCredentialIssuance["interactionId"]): Promise<void>;
81
- /** For wallets, starts the OID4VCI Authorization Code Flow. */
82
- initiateIssuance(request: InitiateIssuanceRequest): Promise<InitiateIssuanceResponse>;
83
- /** For wallet-initiated flows, continues the OpenID4VCI issuance process
84
- * after completing authorization.
85
- */
86
- continueIssuance(
87
- /** Starts with the `redirectUri` and is used to continue the Authorization
88
- * Code Flow issuance process. For example:
89
- * "myapp://example/credential-offer?code=xxx&clientId=myWallet&..." */
90
- url: string): Promise<ContinueIssuanceResponse>;
91
- getPresentationDefinition(proofId: ProofDetail["id"]): Promise<PresentationDefinition>;
92
- getPresentationDefinitionV2(proofId: ProofDetail["id"]): Promise<PresentationDefinitionV2>;
93
- holderRejectProof(interactionId: InvitationResultProofRequest["interactionId"]): Promise<void>;
94
- holderSubmitProof(interactionId: InvitationResultProofRequest["interactionId"], credentials: Record<PresentationDefinitionRequestedCredential["id"], PresentationSubmitCredentialRequest | PresentationSubmitCredentialRequest[]>): Promise<void>;
95
- holderSubmitProofV2(interactionId: InvitationResultProofRequest["interactionId"], credentials: Record<string, PresentationSubmitV2CredentialRequest | PresentationSubmitV2CredentialRequest[]>): Promise<void>;
96
- getCredentials(query: CredentialListQuery): Promise<ItemList<CredentialListItem>>;
97
- runTask(task: string): Promise<string>;
98
- deleteProofClaims(proofId: ProofDetail["id"]): Promise<void>;
99
- getCredential(credentialId: CredentialListItem["id"]): Promise<CredentialDetail>;
100
- deleteCredential(credentialId: CredentialListItem["id"]): Promise<void>;
101
- importCredentialSchema(request: ImportCredentialSchemaRequest): Promise<CredentialSchema["id"]>;
102
- getCredentialSchema(credentialSchemaId: CredentialSchema["id"]): Promise<CredentialSchemaDetail>;
103
- getCredentialSchemas(query: CredentialSchemaListQuery): Promise<ItemList<CredentialSchema>>;
104
- deleteCredentialSchema(credentialSchemaId: CredentialSchema["id"]): Promise<void>;
105
- /** For verifiers, creates a proof request. */
106
- createProof(request: CreateProofRequest): Promise<ProofDetail["id"]>;
107
- shareProof(proofId: ProofDetail["id"], request: ShareProofRequest): Promise<ShareProofResponse>;
108
- shareProofSchema(proofSchemaId: ProofSchema["id"]): Promise<ShareProofSchemaResponse>;
109
- shareCredentialSchema(credentialSchemaId: CredentialSchema["id"]): Promise<ShareCredentialSchemaResponse>;
110
- getProof(proofId: ProofDetail["id"]): Promise<ProofDetail>;
111
- getProofs(query: ProofListQuery): Promise<ItemList<ProofListItem>>;
112
- deleteProof(proofId: ProofDetail["id"]): Promise<void>;
113
- /** For wallets, initiates device engagement for offline flows.
114
- * Reference the `verificationEngagement` entry of your configuration
115
- * for your options for `engagement`.
116
- */
117
- proposeProof(request: ProposeProofRequest): Promise<ProposeProofResponse>;
118
- createProofSchema(request: CreateProofSchemaRequest): Promise<ProofSchema["id"]>;
119
- getProofSchemas(query: ProofSchemaListQuery): Promise<ItemList<ProofSchemaListItem>>;
120
- getProofSchema(proofSchemaId: ProofSchema["id"]): Promise<ProofSchema>;
121
- deleteProofSchema(proofSchemaId: ProofSchema["id"]): Promise<void>;
122
- importProofSchema(request: ImportProofSchemaRequest): Promise<ProofSchema["id"]>;
123
- checkRevocation(credentialIds: Array<CredentialListItem["id"]>, forceRefresh: boolean): Promise<CredentialRevocationCheckResponse[]>;
124
- createTrustAnchor(request: CreateTrustAnchorRequest): Promise<TrustAnchor["id"]>;
125
- deleteTrustAnchor(trustAnchorId: TrustAnchor["id"]): Promise<void>;
126
- getTrustAnchor(trustAnchorId: TrustAnchor["id"]): Promise<TrustAnchor>;
127
- getTrustAnchors(query: TrustAnchorListQuery): Promise<ItemList<TrustAnchorListItem>>;
128
- createTrustEntity(request: CreateTrustEntityRequest): Promise<TrustEntity["id"]>;
129
- getTrustEntity(trustEntityId: TrustEntityListItem["id"]): Promise<TrustEntity>;
130
- getTrustEntities(query: TrustEntityListQuery): Promise<ItemList<TrustEntityListItem>>;
131
- getTrustEntityByDid(didId: DidListItem["id"]): Promise<TrustEntity>;
132
- resolveTrustEntityByIdentifier(request: ResolveTrustEntityByIdentifierRequest): Promise<Record<IdentifierListItem["id"], ResolvedIdentifierTrustEntity[]>>;
133
- createRemoteTrustEntity(request: CreateRemoteTrustEntityRequest): Promise<RemoteTrustEntity["id"]>;
134
- getRemoteTrustEntity(didId: DidListItem["id"]): Promise<RemoteTrustEntity>;
135
- updateRemoteTrustEntity(request: UpdateRemoteTrustEntityRequest): Promise<void>;
136
- getHistory(query: HistoryListQuery): Promise<ItemList<HistoryListItem>>;
137
- getHistoryEntry(historyId: HistoryListItem["id"]): Promise<HistoryListItem>;
138
- createBackup(password: string, outputPath: string): Promise<BackupCreate>;
139
- backupInfo(): Promise<UnexportableEntities>;
140
- deleteCache(types: CacheType[] | undefined): Promise<void>;
141
- /**
142
- * Start import procedure
143
- *
144
- * This call will open the provided backup file, other subsequent function calls like {@link getCredentials} will return data from the imported package
145
- * After this successful call, either {@link finalizeImport} (to persist the changes) or {@link rollbackImport} (to revert to old data) must be called
146
- * @param {string} password User password matching selected during creation of the backup file
147
- * @param {string} inputPath Path to the stored backup file
148
- */
149
- unpackBackup(password: string, inputPath: string): Promise<ImportBackupMetadata>;
150
- /**
151
- * Persist unpacked backup
152
- *
153
- * This call will delete/overwrite the previously stored entries
154
- */
155
- finalizeImport(): Promise<void>;
156
- /**
157
- * Close unpacked backup
158
- *
159
- * This call will restore the old entries prior calling {@link unpackBackup}
160
- */
161
- rollbackImport(): Promise<void>;
162
- resolveJsonldContext(url: string): Promise<ResolveJsonLdContextResponse>;
163
- holderRegisterWalletUnit(request: HolderRegisterWalletUnitRequest): Promise<HolderWalletUnitDetail["id"]>;
164
- holderWalletUnitStatus(walletUnitId: HolderWalletUnitDetail["id"]): Promise<void>;
165
- holderGetWalletUnit(walletUnitId: HolderWalletUnitDetail["id"]): Promise<HolderWalletUnitDetail>;
166
- /**
167
- * Start scanning for ISO 18013-5 NFC engagement
168
- *
169
- * @param {NfcScanRequest} request system overlay messages to be displayed (iOS only)
170
- * @returns {string} encoded NFC engagement to be used for {@link CreateProofRequest.isoMdlEngagement}
171
- */
172
- nfcReadIsoMdlEngagement(request: NfcScanRequest): Promise<string>;
173
- /**
174
- * Explicitly stop scan started via {@link nfcReadIsoMdlEngagement}
175
- */
176
- nfcStopIsoMdlEngagement(): Promise<void>;
177
- /**
178
- * Uninitialize the core instance
179
- *
180
- * Any following calls on this instance will fail.
181
- * A new core instance has to be initialized after.
182
- * @param {boolean} deleteData If true, also delete all data from the DB, otherwise data will be persisted for the next core instance
183
- */
184
- uninitialize(deleteData: boolean): Promise<void>;
185
8
  }
186
- export declare const interfaceMethodNames: readonly ["getVersion", "getConfig", "createOrganisation", "upsertOrganisation", "generateKey", "createDid", "getDids", "createIdentifier", "getIdentifier", "getIdentifiers", "deleteIdentifier", "handleInvitation", "holderAcceptCredential", "holderRejectCredential", "initiateIssuance", "continueIssuance", "getPresentationDefinition", "getPresentationDefinitionV2", "holderRejectProof", "holderSubmitProof", "holderSubmitProofV2", "getCredentials", "runTask", "deleteProofClaims", "getCredential", "deleteCredential", "importCredentialSchema", "getCredentialSchema", "getCredentialSchemas", "deleteCredentialSchema", "createProof", "shareProof", "shareProofSchema", "shareCredentialSchema", "getProof", "getProofs", "deleteProof", "proposeProof", "createProofSchema", "getProofSchemas", "getProofSchema", "deleteProofSchema", "importProofSchema", "checkRevocation", "createTrustAnchor", "deleteTrustAnchor", "getTrustAnchor", "getTrustAnchors", "createTrustEntity", "getTrustEntity", "getTrustEntities", "getTrustEntityByDid", "resolveTrustEntityByIdentifier", "createRemoteTrustEntity", "getRemoteTrustEntity", "updateRemoteTrustEntity", "getHistory", "getHistoryEntry", "createBackup", "backupInfo", "deleteCache", "unpackBackup", "finalizeImport", "rollbackImport", "resolveJsonldContext", "holderRegisterWalletUnit", "holderWalletUnitStatus", "holderGetWalletUnit", "nfcReadIsoMdlEngagement", "nfcStopIsoMdlEngagement", "uninitialize"];
9
+ /**
10
+ * @hidden
11
+ * New Architecture bridgeless issue workaround: see https://github.com/facebook/react-native/issues/43221
12
+ */
13
+ export declare const interfaceMethodNames: readonly ["getVersion", "getConfig", "createOrganisation", "upsertOrganisation", "generateKey", "createDid", "getDids", "createIdentifier", "getIdentifier", "listIdentifiers", "deleteIdentifier", "handleInvitation", "holderAcceptCredential", "holderRejectCredential", "initiateIssuance", "continueIssuance", "getPresentationDefinition", "getPresentationDefinitionV2", "holderRejectProof", "holderSubmitProof", "holderSubmitProofV2", "getCredentials", "runTask", "deleteProofClaims", "getCredential", "deleteCredential", "importCredentialSchema", "getCredentialSchema", "getCredentialSchemas", "deleteCredentialSchema", "createProof", "shareProof", "shareProofSchema", "shareCredentialSchema", "getProof", "getProofs", "deleteProof", "proposeProof", "createProofSchema", "getProofSchemas", "getProofSchema", "deleteProofSchema", "importProofSchema", "checkRevocation", "createTrustAnchor", "deleteTrustAnchor", "getTrustAnchor", "listTrustAnchors", "createTrustEntity", "getTrustEntity", "listTrustEntities", "getTrustEntityByDid", "resolveTrustEntityByIdentifier", "createRemoteTrustEntity", "getRemoteTrustEntity", "updateRemoteTrustEntity", "getHistoryList", "getHistoryEntry", "createBackup", "backupInfo", "deleteCache", "unpackBackup", "finalizeImport", "rollbackImport", "resolveJsonldContext", "holderRegisterWalletUnit", "holderWalletUnitStatus", "holderGetWalletUnit", "nfcReadIsoMdlEngagement", "nfcStopIsoMdlEngagement", "uninitialize"];
package/dist/src/core.js CHANGED
@@ -1,20 +1,9 @@
1
- export * from "./backup";
2
- export * from "./cache";
1
+ export * from "./one-core-uniffi-intf";
3
2
  export * from "./config";
4
- export * from "./credential";
5
- export * from "./credentialSchema";
6
- export * from "./did";
7
- export * from "./identifier";
8
- export * from "./history";
9
- export * from "./key";
10
- export * from "./nfc";
11
- export * from "./list";
12
- export * from "./organisation";
13
- export * from "./proof";
14
- export * from "./proofSchema";
15
- export * from "./trust";
16
- export * from "./walletUnit";
17
- // New Architecture bridgeless issue workaround: see https://github.com/facebook/react-native/issues/43221
3
+ /**
4
+ * @hidden
5
+ * New Architecture bridgeless issue workaround: see https://github.com/facebook/react-native/issues/43221
6
+ */
18
7
  export const interfaceMethodNames = [
19
8
  "getVersion",
20
9
  "getConfig",
@@ -25,7 +14,7 @@ export const interfaceMethodNames = [
25
14
  "getDids",
26
15
  "createIdentifier",
27
16
  "getIdentifier",
28
- "getIdentifiers",
17
+ "listIdentifiers",
29
18
  "deleteIdentifier",
30
19
  "handleInvitation",
31
20
  "holderAcceptCredential",
@@ -63,16 +52,16 @@ export const interfaceMethodNames = [
63
52
  "createTrustAnchor",
64
53
  "deleteTrustAnchor",
65
54
  "getTrustAnchor",
66
- "getTrustAnchors",
55
+ "listTrustAnchors",
67
56
  "createTrustEntity",
68
57
  "getTrustEntity",
69
- "getTrustEntities",
58
+ "listTrustEntities",
70
59
  "getTrustEntityByDid",
71
60
  "resolveTrustEntityByIdentifier",
72
61
  "createRemoteTrustEntity",
73
62
  "getRemoteTrustEntity",
74
63
  "updateRemoteTrustEntity",
75
- "getHistory",
64
+ "getHistoryList",
76
65
  "getHistoryEntry",
77
66
  "createBackup",
78
67
  "backupInfo",
package/dist/src/nfc.d.ts CHANGED
@@ -1,6 +1 @@
1
- export interface NfcScanRequest {
2
- inProgressMessage?: string;
3
- failureMessage?: string;
4
- successMessage?: string;
5
- }
6
1
  export declare const isNfcHceSupported: () => Promise<boolean>;