@docknetwork/wallet-sdk-wasm 1.7.7-alpha.0 → 1.9.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 (327) hide show
  1. package/package.json +7 -20
  2. package/rollup.config.mjs +1 -0
  3. package/src/globals.d.ts +4 -1
  4. package/src/services/blockchain/cached-did-resolver.ts +4 -3
  5. package/src/services/blockchain/normalize-did-document.ts +73 -0
  6. package/src/services/blockchain/service.ts +0 -2
  7. package/src/services/credential/bbs-revocation.test.js +147 -0
  8. package/src/services/credential/bbs-revocation.ts +65 -18
  9. package/src/services/credential/config.ts +7 -0
  10. package/src/services/credential/index.test.js +261 -17
  11. package/src/services/credential/oid4vci.js +44 -0
  12. package/src/services/credential/oid4vci.test.js +162 -0
  13. package/src/services/credential/pex-helpers.js +77 -31
  14. package/src/services/credential/pex-helpers.test.js +4 -4
  15. package/src/services/credential/sd-jwt.ts +41 -5
  16. package/src/services/credential/service-rpc.js +6 -0
  17. package/src/services/credential/service.ts +171 -16
  18. package/src/services/credential/utils.js +3 -5
  19. package/src/services/delegation/index.android.js +3 -0
  20. package/src/services/delegation/index.ios.js +3 -0
  21. package/src/services/delegation/index.ts +1 -0
  22. package/src/services/delegation/service-rpc.ts +21 -0
  23. package/src/services/delegation/service.ts +59 -0
  24. package/src/services/edv/service-rpc.js +18 -2
  25. package/src/services/edv/service.test.js +327 -0
  26. package/src/services/edv/service.ts +103 -13
  27. package/src/services/index.js +2 -0
  28. package/src/wallet/rpc-storage-interface.js +9 -4
  29. package/lib/core/crypto.js +0 -45
  30. package/lib/core/crypto.mjs +0 -33
  31. package/lib/core/format-utils.js +0 -51
  32. package/lib/core/format-utils.mjs +0 -42
  33. package/lib/core/keychain.js +0 -61
  34. package/lib/core/keychain.mjs +0 -37
  35. package/lib/core/logger.js +0 -13
  36. package/lib/core/logger.mjs +0 -9
  37. package/lib/core/storage.js +0 -14
  38. package/lib/core/storage.mjs +0 -9
  39. package/lib/core/validation.js +0 -29
  40. package/lib/core/validation.mjs +0 -16
  41. package/lib/core/webview-logger.js +0 -49
  42. package/lib/core/webview-logger.mjs +0 -41
  43. package/lib/errors.js +0 -17
  44. package/lib/errors.mjs +0 -12
  45. package/lib/events.js +0 -18
  46. package/lib/events.mjs +0 -13
  47. package/lib/index.js +0 -146
  48. package/lib/index.mjs +0 -144
  49. package/lib/logger.js +0 -22
  50. package/lib/logger.mjs +0 -17
  51. package/lib/modules/event-manager.js +0 -46
  52. package/lib/modules/event-manager.mjs +0 -37
  53. package/lib/modules/network-manager.js +0 -80
  54. package/lib/modules/network-manager.mjs +0 -71
  55. package/lib/mrklt.js +0 -2
  56. package/lib/mrklt.mjs +0 -1
  57. package/lib/rpc-client.js +0 -83
  58. package/lib/rpc-client.mjs +0 -73
  59. package/lib/rpc-server.js +0 -97
  60. package/lib/rpc-server.mjs +0 -95
  61. package/lib/rpc-util.js +0 -113
  62. package/lib/rpc-util.mjs +0 -103
  63. package/lib/sandbox-rpc-server.js +0 -28
  64. package/lib/sandbox-rpc-server.mjs +0 -26
  65. package/lib/sandbox.js +0 -102
  66. package/lib/sandbox.mjs +0 -100
  67. package/lib/services/blockchain/cached-did-resolver.js +0 -113
  68. package/lib/services/blockchain/cached-did-resolver.mjs +0 -109
  69. package/lib/services/blockchain/configs.js +0 -7
  70. package/lib/services/blockchain/configs.mjs +0 -3
  71. package/lib/services/blockchain/index.android.js +0 -18
  72. package/lib/services/blockchain/index.android.mjs +0 -14
  73. package/lib/services/blockchain/index.ios.js +0 -18
  74. package/lib/services/blockchain/index.ios.mjs +0 -14
  75. package/lib/services/blockchain/index.js +0 -36
  76. package/lib/services/blockchain/index.mjs +0 -28
  77. package/lib/services/blockchain/service-rpc.js +0 -72
  78. package/lib/services/blockchain/service-rpc.mjs +0 -68
  79. package/lib/services/blockchain/service.js +0 -312
  80. package/lib/services/blockchain/service.mjs +0 -306
  81. package/lib/services/credential/bbs-revocation.js +0 -92
  82. package/lib/services/credential/bbs-revocation.mjs +0 -87
  83. package/lib/services/credential/bound-check.js +0 -77
  84. package/lib/services/credential/bound-check.mjs +0 -64
  85. package/lib/services/credential/config.js +0 -56
  86. package/lib/services/credential/config.mjs +0 -47
  87. package/lib/services/credential/delegatable-credentials.js +0 -300
  88. package/lib/services/credential/delegatable-credentials.mjs +0 -263
  89. package/lib/services/credential/index.android.js +0 -19
  90. package/lib/services/credential/index.android.mjs +0 -15
  91. package/lib/services/credential/index.ios.js +0 -19
  92. package/lib/services/credential/index.ios.mjs +0 -15
  93. package/lib/services/credential/index.js +0 -106
  94. package/lib/services/credential/index.mjs +0 -67
  95. package/lib/services/credential/pex-helpers.js +0 -333
  96. package/lib/services/credential/pex-helpers.mjs +0 -319
  97. package/lib/services/credential/range-proofs-example.js +0 -107
  98. package/lib/services/credential/range-proofs-example.mjs +0 -103
  99. package/lib/services/credential/sd-jwt.js +0 -214
  100. package/lib/services/credential/sd-jwt.mjs +0 -200
  101. package/lib/services/credential/service-rpc.js +0 -61
  102. package/lib/services/credential/service-rpc.mjs +0 -57
  103. package/lib/services/credential/service.js +0 -683
  104. package/lib/services/credential/service.mjs +0 -672
  105. package/lib/services/credential/utils.js +0 -103
  106. package/lib/services/credential/utils.mjs +0 -78
  107. package/lib/services/dids/config.js +0 -40
  108. package/lib/services/dids/config.mjs +0 -31
  109. package/lib/services/dids/index.android.js +0 -19
  110. package/lib/services/dids/index.android.mjs +0 -15
  111. package/lib/services/dids/index.ios.js +0 -19
  112. package/lib/services/dids/index.ios.mjs +0 -15
  113. package/lib/services/dids/index.js +0 -23
  114. package/lib/services/dids/index.mjs +0 -19
  115. package/lib/services/dids/keypair-utils.js +0 -142
  116. package/lib/services/dids/keypair-utils.mjs +0 -113
  117. package/lib/services/dids/service-rpc.js +0 -37
  118. package/lib/services/dids/service-rpc.mjs +0 -33
  119. package/lib/services/dids/service.js +0 -100
  120. package/lib/services/dids/service.mjs +0 -92
  121. package/lib/services/edv/configs.js +0 -25
  122. package/lib/services/edv/configs.mjs +0 -16
  123. package/lib/services/edv/hmac.js +0 -88
  124. package/lib/services/edv/hmac.mjs +0 -63
  125. package/lib/services/edv/index.android.js +0 -19
  126. package/lib/services/edv/index.android.mjs +0 -15
  127. package/lib/services/edv/index.ios.js +0 -19
  128. package/lib/services/edv/index.ios.mjs +0 -15
  129. package/lib/services/edv/index.js +0 -32
  130. package/lib/services/edv/index.mjs +0 -24
  131. package/lib/services/edv/service-rpc.js +0 -78
  132. package/lib/services/edv/service-rpc.mjs +0 -74
  133. package/lib/services/edv/service.js +0 -370
  134. package/lib/services/edv/service.mjs +0 -357
  135. package/lib/services/index.js +0 -94
  136. package/lib/services/index.mjs +0 -92
  137. package/lib/services/pex/config.js +0 -29
  138. package/lib/services/pex/config.mjs +0 -20
  139. package/lib/services/pex/index.android.js +0 -19
  140. package/lib/services/pex/index.android.mjs +0 -15
  141. package/lib/services/pex/index.ios.js +0 -19
  142. package/lib/services/pex/index.ios.mjs +0 -15
  143. package/lib/services/pex/index.js +0 -12
  144. package/lib/services/pex/index.mjs +0 -4
  145. package/lib/services/pex/service-rpc.js +0 -39
  146. package/lib/services/pex/service-rpc.mjs +0 -35
  147. package/lib/services/pex/service.js +0 -91
  148. package/lib/services/pex/service.mjs +0 -86
  149. package/lib/services/pex/tests/jest.config.js +0 -25
  150. package/lib/services/pex/tests/jest.config.mjs +0 -23
  151. package/lib/services/relay-service/configs.js +0 -45
  152. package/lib/services/relay-service/configs.mjs +0 -36
  153. package/lib/services/relay-service/index.android.js +0 -21
  154. package/lib/services/relay-service/index.android.mjs +0 -17
  155. package/lib/services/relay-service/index.ios.js +0 -21
  156. package/lib/services/relay-service/index.ios.mjs +0 -17
  157. package/lib/services/relay-service/index.js +0 -14
  158. package/lib/services/relay-service/index.mjs +0 -6
  159. package/lib/services/relay-service/service-rpc.js +0 -47
  160. package/lib/services/relay-service/service-rpc.mjs +0 -43
  161. package/lib/services/relay-service/service.js +0 -181
  162. package/lib/services/relay-service/service.mjs +0 -173
  163. package/lib/services/rpc-service-client.js +0 -36
  164. package/lib/services/rpc-service-client.mjs +0 -28
  165. package/lib/services/sandbox.js +0 -10
  166. package/lib/services/sandbox.mjs +0 -8
  167. package/lib/services/storage/configs.js +0 -7
  168. package/lib/services/storage/configs.mjs +0 -3
  169. package/lib/services/storage/index.android.js +0 -18
  170. package/lib/services/storage/index.android.mjs +0 -14
  171. package/lib/services/storage/index.ios.js +0 -18
  172. package/lib/services/storage/index.ios.mjs +0 -14
  173. package/lib/services/storage/index.js +0 -26
  174. package/lib/services/storage/index.mjs +0 -24
  175. package/lib/services/storage/service-rpc.js +0 -37
  176. package/lib/services/storage/service-rpc.mjs +0 -33
  177. package/lib/services/storage/service.js +0 -32
  178. package/lib/services/storage/service.mjs +0 -27
  179. package/lib/services/test-utils.js +0 -98
  180. package/lib/services/test-utils.mjs +0 -84
  181. package/lib/services/util-crypto/configs.js +0 -23
  182. package/lib/services/util-crypto/configs.mjs +0 -15
  183. package/lib/services/util-crypto/index.android.js +0 -19
  184. package/lib/services/util-crypto/index.android.mjs +0 -15
  185. package/lib/services/util-crypto/index.ios.js +0 -19
  186. package/lib/services/util-crypto/index.ios.mjs +0 -15
  187. package/lib/services/util-crypto/index.js +0 -14
  188. package/lib/services/util-crypto/index.mjs +0 -6
  189. package/lib/services/util-crypto/service-rpc.js +0 -42
  190. package/lib/services/util-crypto/service-rpc.mjs +0 -38
  191. package/lib/services/util-crypto/service.js +0 -108
  192. package/lib/services/util-crypto/service.mjs +0 -83
  193. package/lib/services/wallet/configs.js +0 -32
  194. package/lib/services/wallet/configs.mjs +0 -23
  195. package/lib/services/wallet/index.android.js +0 -21
  196. package/lib/services/wallet/index.android.mjs +0 -17
  197. package/lib/services/wallet/index.ios.js +0 -21
  198. package/lib/services/wallet/index.ios.mjs +0 -17
  199. package/lib/services/wallet/index.js +0 -17
  200. package/lib/services/wallet/index.mjs +0 -9
  201. package/lib/services/wallet/service-rpc.js +0 -33
  202. package/lib/services/wallet/service-rpc.mjs +0 -29
  203. package/lib/services/wallet/service.js +0 -62
  204. package/lib/services/wallet/service.mjs +0 -57
  205. package/lib/setup-nodejs.js +0 -93
  206. package/lib/setup-nodejs.mjs +0 -91
  207. package/lib/setup-tests.js +0 -92
  208. package/lib/setup-tests.mjs +0 -90
  209. package/lib/src/core/crypto.d.ts +0 -8
  210. package/lib/src/core/crypto.d.ts.map +0 -1
  211. package/lib/src/core/format-utils.d.ts +0 -26
  212. package/lib/src/core/format-utils.d.ts.map +0 -1
  213. package/lib/src/core/logger.d.ts +0 -3
  214. package/lib/src/core/logger.d.ts.map +0 -1
  215. package/lib/src/core/storage.d.ts +0 -8
  216. package/lib/src/core/storage.d.ts.map +0 -1
  217. package/lib/src/core/validation.d.ts +0 -6
  218. package/lib/src/core/validation.d.ts.map +0 -1
  219. package/lib/src/errors.d.ts +0 -7
  220. package/lib/src/errors.d.ts.map +0 -1
  221. package/lib/src/logger.d.ts +0 -5
  222. package/lib/src/logger.d.ts.map +0 -1
  223. package/lib/src/modules/event-manager.d.ts +0 -12
  224. package/lib/src/modules/event-manager.d.ts.map +0 -1
  225. package/lib/src/modules/network-manager.d.ts +0 -32
  226. package/lib/src/modules/network-manager.d.ts.map +0 -1
  227. package/lib/src/rpc-client.d.ts +0 -4
  228. package/lib/src/rpc-client.d.ts.map +0 -1
  229. package/lib/src/rpc-util.d.ts +0 -11
  230. package/lib/src/rpc-util.d.ts.map +0 -1
  231. package/lib/src/services/blockchain/cached-did-resolver.d.ts +0 -28
  232. package/lib/src/services/blockchain/cached-did-resolver.d.ts.map +0 -1
  233. package/lib/src/services/blockchain/cached-did-resolver.test.d.ts +0 -2
  234. package/lib/src/services/blockchain/cached-did-resolver.test.d.ts.map +0 -1
  235. package/lib/src/services/blockchain/configs.d.ts +0 -7
  236. package/lib/src/services/blockchain/configs.d.ts.map +0 -1
  237. package/lib/src/services/blockchain/service.d.ts +0 -155
  238. package/lib/src/services/blockchain/service.d.ts.map +0 -1
  239. package/lib/src/services/credential/bbs-revocation.d.ts +0 -10
  240. package/lib/src/services/credential/bbs-revocation.d.ts.map +0 -1
  241. package/lib/src/services/credential/bound-check.d.ts +0 -61
  242. package/lib/src/services/credential/bound-check.d.ts.map +0 -1
  243. package/lib/src/services/credential/bound-check.test.d.ts +0 -2
  244. package/lib/src/services/credential/bound-check.test.d.ts.map +0 -1
  245. package/lib/src/services/credential/config.d.ts +0 -10
  246. package/lib/src/services/credential/config.d.ts.map +0 -1
  247. package/lib/src/services/credential/delegatable-credentials.d.ts +0 -272
  248. package/lib/src/services/credential/delegatable-credentials.d.ts.map +0 -1
  249. package/lib/src/services/credential/index.d.ts +0 -35
  250. package/lib/src/services/credential/index.d.ts.map +0 -1
  251. package/lib/src/services/credential/pex-helpers.d.ts +0 -23
  252. package/lib/src/services/credential/pex-helpers.d.ts.map +0 -1
  253. package/lib/src/services/credential/range-proofs-example.d.ts +0 -2
  254. package/lib/src/services/credential/range-proofs-example.d.ts.map +0 -1
  255. package/lib/src/services/credential/sd-jwt.test.d.ts +0 -2
  256. package/lib/src/services/credential/sd-jwt.test.d.ts.map +0 -1
  257. package/lib/src/services/credential/service.d.ts +0 -313
  258. package/lib/src/services/credential/service.d.ts.map +0 -1
  259. package/lib/src/services/credential/utils.d.ts +0 -3
  260. package/lib/src/services/credential/utils.d.ts.map +0 -1
  261. package/lib/src/services/dids/config.d.ts +0 -24
  262. package/lib/src/services/dids/config.d.ts.map +0 -1
  263. package/lib/src/services/dids/keypair-utils.d.ts +0 -15
  264. package/lib/src/services/dids/keypair-utils.d.ts.map +0 -1
  265. package/lib/src/services/dids/service-rpc.d.ts +0 -11
  266. package/lib/src/services/dids/service-rpc.d.ts.map +0 -1
  267. package/lib/src/services/dids/service.d.ts +0 -70
  268. package/lib/src/services/dids/service.d.ts.map +0 -1
  269. package/lib/src/services/edv/configs.d.ts +0 -12
  270. package/lib/src/services/edv/configs.d.ts.map +0 -1
  271. package/lib/src/services/edv/hmac.d.ts +0 -29
  272. package/lib/src/services/edv/hmac.d.ts.map +0 -1
  273. package/lib/src/services/edv/service.d.ts +0 -229
  274. package/lib/src/services/edv/service.d.ts.map +0 -1
  275. package/lib/src/services/pex/config.d.ts +0 -21
  276. package/lib/src/services/pex/config.d.ts.map +0 -1
  277. package/lib/src/services/pex/service.d.ts +0 -21
  278. package/lib/src/services/pex/service.d.ts.map +0 -1
  279. package/lib/src/services/relay-service/configs.d.ts +0 -35
  280. package/lib/src/services/relay-service/configs.d.ts.map +0 -1
  281. package/lib/src/services/relay-service/service-rpc.d.ts +0 -12
  282. package/lib/src/services/relay-service/service-rpc.d.ts.map +0 -1
  283. package/lib/src/services/relay-service/service.d.ts +0 -159
  284. package/lib/src/services/relay-service/service.d.ts.map +0 -1
  285. package/lib/src/services/rpc-service-client.d.ts +0 -7
  286. package/lib/src/services/rpc-service-client.d.ts.map +0 -1
  287. package/lib/src/services/storage/configs.d.ts +0 -2
  288. package/lib/src/services/storage/configs.d.ts.map +0 -1
  289. package/lib/src/services/storage/index.d.ts +0 -2
  290. package/lib/src/services/storage/index.d.ts.map +0 -1
  291. package/lib/src/services/storage/service-rpc.d.ts +0 -9
  292. package/lib/src/services/storage/service-rpc.d.ts.map +0 -1
  293. package/lib/src/services/storage/service.d.ts +0 -10
  294. package/lib/src/services/storage/service.d.ts.map +0 -1
  295. package/lib/src/services/util-crypto/configs.d.ts +0 -5
  296. package/lib/src/services/util-crypto/configs.d.ts.map +0 -1
  297. package/lib/src/services/util-crypto/index.d.ts +0 -2
  298. package/lib/src/services/util-crypto/index.d.ts.map +0 -1
  299. package/lib/src/services/util-crypto/service.d.ts +0 -10
  300. package/lib/src/services/util-crypto/service.d.ts.map +0 -1
  301. package/lib/src/services/wallet/configs.d.ts +0 -13
  302. package/lib/src/services/wallet/configs.d.ts.map +0 -1
  303. package/lib/src/services/wallet/service.d.ts +0 -13
  304. package/lib/src/services/wallet/service.d.ts.map +0 -1
  305. package/lib/src/types.d.ts +0 -12
  306. package/lib/src/types.d.ts.map +0 -1
  307. package/lib/src/wallet/memory-storage-interface.d.ts +0 -31
  308. package/lib/src/wallet/memory-storage-interface.d.ts.map +0 -1
  309. package/lib/src/wallet/memory-storage-wallet.d.ts +0 -6
  310. package/lib/src/wallet/memory-storage-wallet.d.ts.map +0 -1
  311. package/lib/src/wallet/rpc-storage-interface.d.ts +0 -32
  312. package/lib/src/wallet/rpc-storage-interface.d.ts.map +0 -1
  313. package/lib/src/wallet/rpc-storage-wallet.d.ts +0 -6
  314. package/lib/src/wallet/rpc-storage-wallet.d.ts.map +0 -1
  315. package/lib/test-utils.js +0 -46
  316. package/lib/test-utils.mjs +0 -38
  317. package/lib/tsconfig.tsbuildinfo +0 -1
  318. package/lib/types.js +0 -7
  319. package/lib/types.mjs +0 -3
  320. package/lib/wallet/memory-storage-interface.js +0 -101
  321. package/lib/wallet/memory-storage-interface.mjs +0 -95
  322. package/lib/wallet/memory-storage-wallet.js +0 -30
  323. package/lib/wallet/memory-storage-wallet.mjs +0 -24
  324. package/lib/wallet/rpc-storage-interface.js +0 -134
  325. package/lib/wallet/rpc-storage-interface.mjs +0 -128
  326. package/lib/wallet/rpc-storage-wallet.js +0 -46
  327. package/lib/wallet/rpc-storage-wallet.mjs +0 -40
@@ -1,103 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var bs58 = require('base58-universal');
6
- var crypto = require('@docknetwork/credential-sdk/vc/crypto');
7
- var utils = require('@docknetwork/credential-sdk/utils');
8
- var x25519KeyAgreementKey2020 = require('@digitalbazaar/x25519-key-agreement-key-2020');
9
- var x25519KeyAgreementKey2019 = require('@digitalbazaar/x25519-key-agreement-key-2019');
10
- var ed25519VerificationKey2018 = require('@digitalbazaar/ed25519-verification-key-2018');
11
- var ed25519VerificationKey2020 = require('@digitalbazaar/ed25519-verification-key-2020');
12
- var keypairs = require('@docknetwork/credential-sdk/keypairs');
13
-
14
- function _interopNamespace(e) {
15
- if (e && e.__esModule) return e;
16
- var n = Object.create(null);
17
- if (e) {
18
- Object.keys(e).forEach(function (k) {
19
- if (k !== 'default') {
20
- var d = Object.getOwnPropertyDescriptor(e, k);
21
- Object.defineProperty(n, k, d.get ? d : {
22
- enumerable: true,
23
- get: function () { return e[k]; }
24
- });
25
- }
26
- });
27
- }
28
- n["default"] = e;
29
- return Object.freeze(n);
30
- }
31
-
32
- var bs58__namespace = /*#__PURE__*/_interopNamespace(bs58);
33
-
34
- async function keyDocToKeypair(keyDoc) {
35
- if (keyDoc.keypair) {
36
- return keyDoc;
37
- }
38
-
39
- const {
40
- type,
41
- privateKeyBase58,
42
- publicKeyBase58,
43
- privateKeyMultibase,
44
- publicKeyMultibase,
45
- } = keyDoc;
46
-
47
- const publicKeyEncoded = publicKeyBase58 || publicKeyMultibase.substr(1);
48
- const privateKeyEncoded =
49
- privateKeyBase58 || (privateKeyMultibase && privateKeyMultibase.substr(1));
50
- if (!privateKeyEncoded) {
51
- throw new Error(
52
- `No private key in document found, this should not happen. Got: ${JSON.stringify(
53
- keyDoc,
54
- null,
55
- 2,
56
- )}`,
57
- );
58
- }
59
-
60
- const privateKeyBytes = bs58__namespace.decode(privateKeyEncoded);
61
- const publicKeyBytes = bs58__namespace.decode(publicKeyEncoded);
62
-
63
- if (type === 'Bls12381G2VerificationKeyDock2022') {
64
- return new crypto.Bls12381G2KeyPairDock2022(keyDoc);
65
- } else if (type === 'Bls12381BBSVerificationKeyDock2023') {
66
- return new crypto.Bls12381BBSKeyPairDock2023(keyDoc);
67
- } else if (type === 'Bls12381BBDT16VerificationKeyDock2024') {
68
- return new crypto.Bls12381BBDT16KeyPairDock2024(keyDoc);
69
- } else if (
70
- type === 'Ed25519VerificationKey2020' ||
71
- type === 'Ed25519VerificationKey2018'
72
- ) {
73
- const key = new keypairs.Ed25519Keypair(utils.randomAsHex(32));
74
- key.keyPair.publicKey = publicKeyBytes;
75
- key.keyPair.secretKey = privateKeyBytes;
76
- return key;
77
- } else {
78
- throw new Error(`Unsupported key type: ${type}`);
79
- }
80
- }
81
-
82
- const keyConstructors = {
83
- Ed25519VerificationKey2018: keypairOptions =>
84
- new ed25519VerificationKey2018.Ed25519VerificationKey2018(keypairOptions),
85
- Ed25519VerificationKey2020: keypairOptions =>
86
- new ed25519VerificationKey2020.Ed25519VerificationKey2020(keypairOptions),
87
- X25519KeyAgreementKey2019: keypairOptions =>
88
- new x25519KeyAgreementKey2019.X25519KeyAgreementKey2019(keypairOptions),
89
- X25519KeyAgreementKey2020: keypairOptions =>
90
- new x25519KeyAgreementKey2020.X25519KeyAgreementKey2020(keypairOptions),
91
- };
92
-
93
- function getKeypairFromDoc(keypairOptions) {
94
- const {type} = keypairOptions;
95
- const keyConstructor = keyConstructors[type];
96
- if (!keyConstructor) {
97
- throw new Error(`Unrecognized keypair type to construct: ${type}`);
98
- }
99
- return keyConstructor(keypairOptions);
100
- }
101
-
102
- exports.getKeypairFromDoc = getKeypairFromDoc;
103
- exports.keyDocToKeypair = keyDocToKeypair;
@@ -1,78 +0,0 @@
1
- import * as bs58 from 'base58-universal';
2
- import { Bls12381G2KeyPairDock2022, Bls12381BBSKeyPairDock2023, Bls12381BBDT16KeyPairDock2024 } from '@docknetwork/credential-sdk/vc/crypto';
3
- import { randomAsHex } from '@docknetwork/credential-sdk/utils';
4
- import { X25519KeyAgreementKey2020 } from '@digitalbazaar/x25519-key-agreement-key-2020';
5
- import { X25519KeyAgreementKey2019 } from '@digitalbazaar/x25519-key-agreement-key-2019';
6
- import { Ed25519VerificationKey2018 } from '@digitalbazaar/ed25519-verification-key-2018';
7
- import { Ed25519VerificationKey2020 } from '@digitalbazaar/ed25519-verification-key-2020';
8
- import { Ed25519Keypair } from '@docknetwork/credential-sdk/keypairs';
9
-
10
- async function keyDocToKeypair(keyDoc) {
11
- if (keyDoc.keypair) {
12
- return keyDoc;
13
- }
14
-
15
- const {
16
- type,
17
- privateKeyBase58,
18
- publicKeyBase58,
19
- privateKeyMultibase,
20
- publicKeyMultibase,
21
- } = keyDoc;
22
-
23
- const publicKeyEncoded = publicKeyBase58 || publicKeyMultibase.substr(1);
24
- const privateKeyEncoded =
25
- privateKeyBase58 || (privateKeyMultibase && privateKeyMultibase.substr(1));
26
- if (!privateKeyEncoded) {
27
- throw new Error(
28
- `No private key in document found, this should not happen. Got: ${JSON.stringify(
29
- keyDoc,
30
- null,
31
- 2,
32
- )}`,
33
- );
34
- }
35
-
36
- const privateKeyBytes = bs58.decode(privateKeyEncoded);
37
- const publicKeyBytes = bs58.decode(publicKeyEncoded);
38
-
39
- if (type === 'Bls12381G2VerificationKeyDock2022') {
40
- return new Bls12381G2KeyPairDock2022(keyDoc);
41
- } else if (type === 'Bls12381BBSVerificationKeyDock2023') {
42
- return new Bls12381BBSKeyPairDock2023(keyDoc);
43
- } else if (type === 'Bls12381BBDT16VerificationKeyDock2024') {
44
- return new Bls12381BBDT16KeyPairDock2024(keyDoc);
45
- } else if (
46
- type === 'Ed25519VerificationKey2020' ||
47
- type === 'Ed25519VerificationKey2018'
48
- ) {
49
- const key = new Ed25519Keypair(randomAsHex(32));
50
- key.keyPair.publicKey = publicKeyBytes;
51
- key.keyPair.secretKey = privateKeyBytes;
52
- return key;
53
- } else {
54
- throw new Error(`Unsupported key type: ${type}`);
55
- }
56
- }
57
-
58
- const keyConstructors = {
59
- Ed25519VerificationKey2018: keypairOptions =>
60
- new Ed25519VerificationKey2018(keypairOptions),
61
- Ed25519VerificationKey2020: keypairOptions =>
62
- new Ed25519VerificationKey2020(keypairOptions),
63
- X25519KeyAgreementKey2019: keypairOptions =>
64
- new X25519KeyAgreementKey2019(keypairOptions),
65
- X25519KeyAgreementKey2020: keypairOptions =>
66
- new X25519KeyAgreementKey2020(keypairOptions),
67
- };
68
-
69
- function getKeypairFromDoc(keypairOptions) {
70
- const {type} = keypairOptions;
71
- const keyConstructor = keyConstructors[type];
72
- if (!keyConstructor) {
73
- throw new Error(`Unrecognized keypair type to construct: ${type}`);
74
- }
75
- return keyConstructor(keypairOptions);
76
- }
77
-
78
- export { getKeypairFromDoc, keyDocToKeypair };
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var assert = require('assert');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
10
-
11
- const serviceName = 'didManager';
12
- const validation = {
13
- keypairToDIDKeyDocument: ({ keypairDoc }) => {
14
- assert__default["default"](typeof keypairDoc === 'object', 'invalid keypairDoc');
15
- assert__default["default"](keypairDoc.type === 'Ed25519VerificationKey2018', 'invalid type');
16
- assert__default["default"](typeof keypairDoc.publicKeyBase58 === 'string', 'publicKeyBase58 is not present');
17
- },
18
- getDIDResolution: ({ didDocument }) => {
19
- assert__default["default"](typeof didDocument.id === 'string', 'invalid didDocument');
20
- },
21
- generateKeyDoc: ({ derivePath, type }) => {
22
- if (derivePath) {
23
- assert__default["default"](typeof derivePath === 'string', 'invalid derivePath');
24
- }
25
- if (type) {
26
- assert__default["default"](typeof type === 'string', 'invalid type');
27
- }
28
- },
29
- deriveKeyDoc: ({ pair, type }) => {
30
- assert__default["default"](typeof pair === 'object', 'invalid pair');
31
- assert__default["default"](pair.publicKey instanceof Uint8Array, 'invalid publicKey');
32
- assert__default["default"](pair.secretKey instanceof Uint8Array, 'invalid secretKey');
33
- if (type) {
34
- assert__default["default"](typeof type === 'string', 'invalid type');
35
- }
36
- },
37
- };
38
-
39
- exports.serviceName = serviceName;
40
- exports.validation = validation;
@@ -1,31 +0,0 @@
1
- import assert from 'assert';
2
-
3
- const serviceName = 'didManager';
4
- const validation = {
5
- keypairToDIDKeyDocument: ({ keypairDoc }) => {
6
- assert(typeof keypairDoc === 'object', 'invalid keypairDoc');
7
- assert(keypairDoc.type === 'Ed25519VerificationKey2018', 'invalid type');
8
- assert(typeof keypairDoc.publicKeyBase58 === 'string', 'publicKeyBase58 is not present');
9
- },
10
- getDIDResolution: ({ didDocument }) => {
11
- assert(typeof didDocument.id === 'string', 'invalid didDocument');
12
- },
13
- generateKeyDoc: ({ derivePath, type }) => {
14
- if (derivePath) {
15
- assert(typeof derivePath === 'string', 'invalid derivePath');
16
- }
17
- if (type) {
18
- assert(typeof type === 'string', 'invalid type');
19
- }
20
- },
21
- deriveKeyDoc: ({ pair, type }) => {
22
- assert(typeof pair === 'object', 'invalid pair');
23
- assert(pair.publicKey instanceof Uint8Array, 'invalid publicKey');
24
- assert(pair.secretKey instanceof Uint8Array, 'invalid secretKey');
25
- if (type) {
26
- assert(typeof type === 'string', 'invalid type');
27
- }
28
- },
29
- };
30
-
31
- export { serviceName, validation };
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var services_dids_serviceRpc = require('./service-rpc.js');
6
- require('../rpc-service-client.js');
7
- require('assert');
8
- require('../../rpc-client.js');
9
- require('json-rpc-2.0');
10
- require('../../core/crypto.js');
11
- require('crypto');
12
- require('../../core/logger.js');
13
- require('../../logger.js');
14
- require('../../rpc-util.js');
15
- require('./config.js');
16
-
17
- const didServiceRPC = new services_dids_serviceRpc.DIDServiceRPC();
18
-
19
- exports.didServiceRPC = didServiceRPC;
@@ -1,15 +0,0 @@
1
- import { DIDServiceRPC } from './service-rpc.mjs';
2
- import '../rpc-service-client.mjs';
3
- import 'assert';
4
- import '../../rpc-client.mjs';
5
- import 'json-rpc-2.0';
6
- import '../../core/crypto.mjs';
7
- import 'crypto';
8
- import '../../core/logger.mjs';
9
- import '../../logger.mjs';
10
- import '../../rpc-util.mjs';
11
- import './config.mjs';
12
-
13
- const didServiceRPC = new DIDServiceRPC();
14
-
15
- export { didServiceRPC };
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var services_dids_serviceRpc = require('./service-rpc.js');
6
- require('../rpc-service-client.js');
7
- require('assert');
8
- require('../../rpc-client.js');
9
- require('json-rpc-2.0');
10
- require('../../core/crypto.js');
11
- require('crypto');
12
- require('../../core/logger.js');
13
- require('../../logger.js');
14
- require('../../rpc-util.js');
15
- require('./config.js');
16
-
17
- const didServiceRPC = new services_dids_serviceRpc.DIDServiceRPC();
18
-
19
- exports.didServiceRPC = didServiceRPC;
@@ -1,15 +0,0 @@
1
- import { DIDServiceRPC } from './service-rpc.mjs';
2
- import '../rpc-service-client.mjs';
3
- import 'assert';
4
- import '../../rpc-client.mjs';
5
- import 'json-rpc-2.0';
6
- import '../../core/crypto.mjs';
7
- import 'crypto';
8
- import '../../core/logger.mjs';
9
- import '../../logger.mjs';
10
- import '../../rpc-util.mjs';
11
- import './config.mjs';
12
-
13
- const didServiceRPC = new DIDServiceRPC();
14
-
15
- export { didServiceRPC };
@@ -1,23 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var services_dids_service = require('./service.js');
6
- require('@docknetwork/wallet-sdk-dids/lib');
7
- require('./config.js');
8
- require('assert');
9
- require('@docknetwork/credential-sdk/keypairs');
10
- require('base64url');
11
- require('../credential/utils.js');
12
- require('base58-universal');
13
- require('@docknetwork/credential-sdk/vc/crypto');
14
- require('@docknetwork/credential-sdk/utils');
15
- require('@digitalbazaar/x25519-key-agreement-key-2020');
16
- require('@digitalbazaar/x25519-key-agreement-key-2019');
17
- require('@digitalbazaar/ed25519-verification-key-2018');
18
- require('@digitalbazaar/ed25519-verification-key-2020');
19
- require('./keypair-utils.js');
20
-
21
- const didServiceRPC = services_dids_service.didService;
22
-
23
- exports.didServiceRPC = didServiceRPC;
@@ -1,19 +0,0 @@
1
- import { didService } from './service.mjs';
2
- import '@docknetwork/wallet-sdk-dids/lib';
3
- import './config.mjs';
4
- import 'assert';
5
- import '@docknetwork/credential-sdk/keypairs';
6
- import 'base64url';
7
- import '../credential/utils.mjs';
8
- import 'base58-universal';
9
- import '@docknetwork/credential-sdk/vc/crypto';
10
- import '@docknetwork/credential-sdk/utils';
11
- import '@digitalbazaar/x25519-key-agreement-key-2020';
12
- import '@digitalbazaar/x25519-key-agreement-key-2019';
13
- import '@digitalbazaar/ed25519-verification-key-2018';
14
- import '@digitalbazaar/ed25519-verification-key-2020';
15
- import './keypair-utils.mjs';
16
-
17
- const didServiceRPC = didService;
18
-
19
- export { didServiceRPC };
@@ -1,142 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var keypairs = require('@docknetwork/credential-sdk/keypairs');
6
- var utils = require('@docknetwork/credential-sdk/utils');
7
- var bs58 = require('base58-universal');
8
-
9
- function _interopNamespace(e) {
10
- if (e && e.__esModule) return e;
11
- var n = Object.create(null);
12
- if (e) {
13
- Object.keys(e).forEach(function (k) {
14
- if (k !== 'default') {
15
- var d = Object.getOwnPropertyDescriptor(e, k);
16
- Object.defineProperty(n, k, d.get ? d : {
17
- enumerable: true,
18
- get: function () { return e[k]; }
19
- });
20
- }
21
- });
22
- }
23
- n["default"] = e;
24
- return Object.freeze(n);
25
- }
26
-
27
- var bs58__namespace = /*#__PURE__*/_interopNamespace(bs58);
28
-
29
- /**
30
- * This code is based on the implementation from truvera api
31
- * https://github.com/docknetwork/web/blob/3c706c5dc5de4ae63f548c76ec6edeb17533a0c9/apps/api/src/utils/key-manager.js
32
- */
33
-
34
- function getKeyPairType(key) {
35
- const keyType = key.type || key.constructor.VerKeyType;
36
- if (keyType) {
37
- return keyType;
38
- }
39
-
40
- if (key instanceof keypairs.Ed25519Keypair) {
41
- return 'Ed25519VerificationKey2018';
42
- }
43
-
44
- throw new Error(`Unknown key type for ${key.constructor.name}`);
45
- }
46
-
47
- const MULTIBASE_BASE58BTC_HEADER = 'z';
48
- const MULTICODEC_ED25519_PUB_HEADER = new Uint8Array([0xed, 0x01]);
49
- const MULTICODEC_ED25519_PRIV_HEADER = new Uint8Array([0x80, 0x26]);
50
-
51
- function encodeMbKey(header, key) {
52
- const mbKey = new Uint8Array(header.length + key.length);
53
- mbKey.set(header);
54
- mbKey.set(key, header.length);
55
- return MULTIBASE_BASE58BTC_HEADER + bs58__namespace.encode(mbKey);
56
- }
57
-
58
- function getKeyFingerprint(keyType, publicKey) {
59
- if (keyType.startsWith('Ed25519')) {
60
- return encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey);
61
- } else {
62
- throw new Error(`Cannot detect key type for fingerprint: ${keyType}`);
63
- }
64
- }
65
-
66
- const keyTypeToDocType = {
67
- bjj: 'BJJVerificationKey2021',
68
- secp256k1: 'EcdsaSecp256k1VerificationKey2019',
69
- };
70
-
71
- function keypairToKeydoc(key, controller, id = undefined) {
72
- const keyType = getKeyPairType(key);
73
- let keyDoc;
74
- if (
75
- keyType === 'Ed25519VerificationKey2020' ||
76
- keyType === 'Ed25519VerificationKey2018'
77
- ) {
78
- const publicKey = utils.u8aToU8a(
79
- (key.keyPair &&
80
- key.keyPair.publicKey &&
81
- utils.u8aToU8a(key.keyPair.publicKey)) ||
82
- key.publicKeyBuffer ||
83
- (key.pk && key.pk.value),
84
- );
85
-
86
- if (!publicKey) {
87
- throw new Error('Cannot find public key');
88
- }
89
-
90
- const pk = utils.u8aToU8a(
91
- (key.keyPair && key.keyPair.secretKey) ||
92
- key.privateKeyBuffer ||
93
- (key.sk &&
94
- (typeof key.sk === 'string'
95
- ? utils.hexToU8a(key.sk)
96
- : key.sk.value || key.sk)) ||
97
- utils.hexToU8a(key.pk),
98
- );
99
-
100
- const publicKeyBase58 = bs58__namespace.encode(publicKey);
101
- const privateKeyBase58 = bs58__namespace.encode(pk);
102
-
103
- const fingerprint =
104
- (key.fingerprint && key.fingerprint()) ||
105
- getKeyFingerprint(keyType, publicKey);
106
-
107
- // auto create controller
108
- if (!controller) {
109
- controller = `did:key:${fingerprint}`;
110
- id = id || key.id || `${controller}#${fingerprint}`;
111
- }
112
-
113
- const keyId = id || key.id || `${controller}#${fingerprint}`;
114
- const type = keyTypeToDocType[keyType] || keyType;
115
- keyDoc = {
116
- controller,
117
- type,
118
- id: keyId,
119
- publicKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey),
120
- privateKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PRIV_HEADER, pk),
121
- privateKeyBase58,
122
- publicKeyBase58,
123
- };
124
-
125
- if (key.seed) {
126
- keyDoc.seed = utils.u8aToHex(key.seed);
127
- }
128
- } else {
129
- throw new Error(`Unknown keypairToKeydoc type: ${keyType}`);
130
- }
131
-
132
- keyDoc['@context'] = ['https://w3id.org/wallet/v1'];
133
-
134
- return keyDoc;
135
- }
136
-
137
- exports.MULTIBASE_BASE58BTC_HEADER = MULTIBASE_BASE58BTC_HEADER;
138
- exports.MULTICODEC_ED25519_PRIV_HEADER = MULTICODEC_ED25519_PRIV_HEADER;
139
- exports.MULTICODEC_ED25519_PUB_HEADER = MULTICODEC_ED25519_PUB_HEADER;
140
- exports.encodeMbKey = encodeMbKey;
141
- exports.getKeyPairType = getKeyPairType;
142
- exports.keypairToKeydoc = keypairToKeydoc;
@@ -1,113 +0,0 @@
1
- import { Ed25519Keypair } from '@docknetwork/credential-sdk/keypairs';
2
- import { u8aToU8a, hexToU8a, u8aToHex } from '@docknetwork/credential-sdk/utils';
3
- import * as bs58 from 'base58-universal';
4
-
5
- /**
6
- * This code is based on the implementation from truvera api
7
- * https://github.com/docknetwork/web/blob/3c706c5dc5de4ae63f548c76ec6edeb17533a0c9/apps/api/src/utils/key-manager.js
8
- */
9
-
10
- function getKeyPairType(key) {
11
- const keyType = key.type || key.constructor.VerKeyType;
12
- if (keyType) {
13
- return keyType;
14
- }
15
-
16
- if (key instanceof Ed25519Keypair) {
17
- return 'Ed25519VerificationKey2018';
18
- }
19
-
20
- throw new Error(`Unknown key type for ${key.constructor.name}`);
21
- }
22
-
23
- const MULTIBASE_BASE58BTC_HEADER = 'z';
24
- const MULTICODEC_ED25519_PUB_HEADER = new Uint8Array([0xed, 0x01]);
25
- const MULTICODEC_ED25519_PRIV_HEADER = new Uint8Array([0x80, 0x26]);
26
-
27
- function encodeMbKey(header, key) {
28
- const mbKey = new Uint8Array(header.length + key.length);
29
- mbKey.set(header);
30
- mbKey.set(key, header.length);
31
- return MULTIBASE_BASE58BTC_HEADER + bs58.encode(mbKey);
32
- }
33
-
34
- function getKeyFingerprint(keyType, publicKey) {
35
- if (keyType.startsWith('Ed25519')) {
36
- return encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey);
37
- } else {
38
- throw new Error(`Cannot detect key type for fingerprint: ${keyType}`);
39
- }
40
- }
41
-
42
- const keyTypeToDocType = {
43
- bjj: 'BJJVerificationKey2021',
44
- secp256k1: 'EcdsaSecp256k1VerificationKey2019',
45
- };
46
-
47
- function keypairToKeydoc(key, controller, id = undefined) {
48
- const keyType = getKeyPairType(key);
49
- let keyDoc;
50
- if (
51
- keyType === 'Ed25519VerificationKey2020' ||
52
- keyType === 'Ed25519VerificationKey2018'
53
- ) {
54
- const publicKey = u8aToU8a(
55
- (key.keyPair &&
56
- key.keyPair.publicKey &&
57
- u8aToU8a(key.keyPair.publicKey)) ||
58
- key.publicKeyBuffer ||
59
- (key.pk && key.pk.value),
60
- );
61
-
62
- if (!publicKey) {
63
- throw new Error('Cannot find public key');
64
- }
65
-
66
- const pk = u8aToU8a(
67
- (key.keyPair && key.keyPair.secretKey) ||
68
- key.privateKeyBuffer ||
69
- (key.sk &&
70
- (typeof key.sk === 'string'
71
- ? hexToU8a(key.sk)
72
- : key.sk.value || key.sk)) ||
73
- hexToU8a(key.pk),
74
- );
75
-
76
- const publicKeyBase58 = bs58.encode(publicKey);
77
- const privateKeyBase58 = bs58.encode(pk);
78
-
79
- const fingerprint =
80
- (key.fingerprint && key.fingerprint()) ||
81
- getKeyFingerprint(keyType, publicKey);
82
-
83
- // auto create controller
84
- if (!controller) {
85
- controller = `did:key:${fingerprint}`;
86
- id = id || key.id || `${controller}#${fingerprint}`;
87
- }
88
-
89
- const keyId = id || key.id || `${controller}#${fingerprint}`;
90
- const type = keyTypeToDocType[keyType] || keyType;
91
- keyDoc = {
92
- controller,
93
- type,
94
- id: keyId,
95
- publicKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PUB_HEADER, publicKey),
96
- privateKeyMultibase: encodeMbKey(MULTICODEC_ED25519_PRIV_HEADER, pk),
97
- privateKeyBase58,
98
- publicKeyBase58,
99
- };
100
-
101
- if (key.seed) {
102
- keyDoc.seed = u8aToHex(key.seed);
103
- }
104
- } else {
105
- throw new Error(`Unknown keypairToKeydoc type: ${keyType}`);
106
- }
107
-
108
- keyDoc['@context'] = ['https://w3id.org/wallet/v1'];
109
-
110
- return keyDoc;
111
- }
112
-
113
- export { MULTIBASE_BASE58BTC_HEADER, MULTICODEC_ED25519_PRIV_HEADER, MULTICODEC_ED25519_PUB_HEADER, encodeMbKey, getKeyPairType, keypairToKeydoc };
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var services_rpcServiceClient = require('../rpc-service-client.js');
6
- var services_dids_config = require('./config.js');
7
- require('assert');
8
- require('../../rpc-client.js');
9
- require('json-rpc-2.0');
10
- require('../../core/crypto.js');
11
- require('crypto');
12
- require('../../core/logger.js');
13
- require('../../logger.js');
14
- require('../../rpc-util.js');
15
-
16
- class DIDServiceRPC extends services_rpcServiceClient.RpcService {
17
- constructor() {
18
- super(services_dids_config.serviceName);
19
- }
20
- keypairToDIDKeyDocument(params) {
21
- return this.call('keypairToDIDKeyDocument', params);
22
- }
23
- getDIDResolution(params) {
24
- return this.call('getDIDResolution', params);
25
- }
26
- generateKeyDoc(params) {
27
- return this.call('generateKeyDoc', params);
28
- }
29
- deriveKeyDoc(params) {
30
- return this.call('deriveKeyDoc', params);
31
- }
32
- createSignedJWT(params) {
33
- return this.call('createSignedJWT', params);
34
- }
35
- }
36
-
37
- exports.DIDServiceRPC = DIDServiceRPC;