@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
package/lib/rpc-util.js DELETED
@@ -1,113 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var assert = require('assert');
6
- var core_crypto = require('./core/crypto.js');
7
- var core_logger = require('./core/logger.js');
8
- require('crypto');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
13
-
14
- function createMethodResolver({service, methodFn, methodName}) {
15
- if (methodFn === undefined) {
16
- throw new Error(
17
- `Resolver is undefined for ${methodName} in ${service.name}`,
18
- );
19
- }
20
-
21
- const methodPath = `${service.name}.${methodName}`;
22
-
23
- return {
24
- name: methodPath,
25
- resolver: async (params = {}) => {
26
- try {
27
- let result;
28
-
29
- if (!methodFn) {
30
- throw new Error('Resolver is undefined');
31
- }
32
-
33
- if (params.__args) {
34
- result = methodFn.apply(service, params.__args);
35
- } else {
36
- result = methodFn.apply(service, [params]);
37
- }
38
-
39
- return Promise.resolve(result).then(value => {
40
- core_logger.Logger.debug(`Result for ${methodPath}`, value);
41
- return value;
42
- });
43
- } catch (err) {
44
- core_logger.Logger.debug(`Error for ${methodPath}`, err.toString());
45
- throw err;
46
- }
47
- },
48
- };
49
- }
50
-
51
- function createRpcService(service) {
52
- const {name, rpcMethods} = service;
53
-
54
- assert__default["default"](
55
- typeof name === 'string',
56
- `invalid name: ${name} for service ${service.constructor.name}`,
57
- );
58
- assert__default["default"](
59
- typeof rpcMethods === 'object',
60
- `invalid routes: ${rpcMethods} for service ${service.constructor.name}`,
61
- );
62
-
63
- let methods = rpcMethods;
64
-
65
- if (!Array.isArray(rpcMethods)) {
66
- return Object.keys(rpcMethods).map(key => {
67
- return createMethodResolver({
68
- methodFn: rpcMethods[key],
69
- methodName: key,
70
- service,
71
- });
72
- });
73
- }
74
-
75
- return methods.map(methodFn => {
76
- if (methodFn === undefined) {
77
- throw new Error(
78
- `Method is undefined in ${
79
- service.name
80
- }, available methods: ${Object.keys(service.rpcMethods).join(', ')}`,
81
- );
82
- }
83
-
84
- return createMethodResolver({
85
- methodFn,
86
- methodName: methodFn.name,
87
- service,
88
- });
89
- });
90
- }
91
-
92
- function patchRpcServer(server) {
93
- server.__receive = server.receive;
94
-
95
- server.receive = function (reqData) {
96
- try {
97
- if (core_crypto.SECURE_JSON_RPC && reqData.params && reqData.params.encryptedData) {
98
- const params = core_crypto.decryptData(reqData.params);
99
- reqData.params = JSON.parse(params).reqParams;
100
- }
101
- } catch (err) {
102
- console.error(err);
103
- }
104
-
105
- return server.__receive(reqData);
106
- };
107
-
108
- return server;
109
- }
110
-
111
- exports.createMethodResolver = createMethodResolver;
112
- exports.createRpcService = createRpcService;
113
- exports.patchRpcServer = patchRpcServer;
package/lib/rpc-util.mjs DELETED
@@ -1,103 +0,0 @@
1
- import assert from 'assert';
2
- import { SECURE_JSON_RPC, decryptData } from './core/crypto.mjs';
3
- import { Logger } from './core/logger.mjs';
4
- import 'crypto';
5
-
6
- function createMethodResolver({service, methodFn, methodName}) {
7
- if (methodFn === undefined) {
8
- throw new Error(
9
- `Resolver is undefined for ${methodName} in ${service.name}`,
10
- );
11
- }
12
-
13
- const methodPath = `${service.name}.${methodName}`;
14
-
15
- return {
16
- name: methodPath,
17
- resolver: async (params = {}) => {
18
- try {
19
- let result;
20
-
21
- if (!methodFn) {
22
- throw new Error('Resolver is undefined');
23
- }
24
-
25
- if (params.__args) {
26
- result = methodFn.apply(service, params.__args);
27
- } else {
28
- result = methodFn.apply(service, [params]);
29
- }
30
-
31
- return Promise.resolve(result).then(value => {
32
- Logger.debug(`Result for ${methodPath}`, value);
33
- return value;
34
- });
35
- } catch (err) {
36
- Logger.debug(`Error for ${methodPath}`, err.toString());
37
- throw err;
38
- }
39
- },
40
- };
41
- }
42
-
43
- function createRpcService(service) {
44
- const {name, rpcMethods} = service;
45
-
46
- assert(
47
- typeof name === 'string',
48
- `invalid name: ${name} for service ${service.constructor.name}`,
49
- );
50
- assert(
51
- typeof rpcMethods === 'object',
52
- `invalid routes: ${rpcMethods} for service ${service.constructor.name}`,
53
- );
54
-
55
- let methods = rpcMethods;
56
-
57
- if (!Array.isArray(rpcMethods)) {
58
- return Object.keys(rpcMethods).map(key => {
59
- return createMethodResolver({
60
- methodFn: rpcMethods[key],
61
- methodName: key,
62
- service,
63
- });
64
- });
65
- }
66
-
67
- return methods.map(methodFn => {
68
- if (methodFn === undefined) {
69
- throw new Error(
70
- `Method is undefined in ${
71
- service.name
72
- }, available methods: ${Object.keys(service.rpcMethods).join(', ')}`,
73
- );
74
- }
75
-
76
- return createMethodResolver({
77
- methodFn,
78
- methodName: methodFn.name,
79
- service,
80
- });
81
- });
82
- }
83
-
84
- function patchRpcServer(server) {
85
- server.__receive = server.receive;
86
-
87
- server.receive = function (reqData) {
88
- try {
89
- if (SECURE_JSON_RPC && reqData.params && reqData.params.encryptedData) {
90
- const params = decryptData(reqData.params);
91
- reqData.params = JSON.parse(params).reqParams;
92
- }
93
- } catch (err) {
94
- console.error(err);
95
- }
96
-
97
- return server.__receive(reqData);
98
- };
99
-
100
- return server;
101
- }
102
-
103
- export { createMethodResolver, createRpcService, patchRpcServer };
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- var jsonRpc2_0 = require('json-rpc-2.0');
4
- var rpcUtil = require('./rpc-util.js');
5
- var services_sandbox = require('./services/sandbox.js');
6
- require('assert');
7
- require('./core/crypto.js');
8
- require('crypto');
9
- require('./core/logger.js');
10
- require('./services/pex/service.js');
11
- require('./services/pex/config.js');
12
- require('@sphereon/pex');
13
-
14
- const rpcServer = new jsonRpc2_0.JSONRPCServer();
15
-
16
- services_sandbox.forEach(service => {
17
- const rpcService = rpcUtil.createRpcService(service);
18
-
19
- rpcService.forEach(method => {
20
- rpcServer.addMethod(method.name, params => {
21
- return Promise.resolve(method.resolver(params));
22
- });
23
- });
24
- });
25
-
26
- var rpcServer$1 = rpcUtil.patchRpcServer(rpcServer);
27
-
28
- module.exports = rpcServer$1;
@@ -1,26 +0,0 @@
1
- import { JSONRPCServer } from 'json-rpc-2.0';
2
- import { createRpcService, patchRpcServer } from './rpc-util.mjs';
3
- import services from './services/sandbox.mjs';
4
- import 'assert';
5
- import './core/crypto.mjs';
6
- import 'crypto';
7
- import './core/logger.mjs';
8
- import './services/pex/service.mjs';
9
- import './services/pex/config.mjs';
10
- import '@sphereon/pex';
11
-
12
- const rpcServer = new JSONRPCServer();
13
-
14
- services.forEach(service => {
15
- const rpcService = createRpcService(service);
16
-
17
- rpcService.forEach(method => {
18
- rpcServer.addMethod(method.name, params => {
19
- return Promise.resolve(method.resolver(params));
20
- });
21
- });
22
- });
23
-
24
- var rpcServer$1 = patchRpcServer(rpcServer);
25
-
26
- export { rpcServer$1 as default };
package/lib/sandbox.js DELETED
@@ -1,102 +0,0 @@
1
- 'use strict';
2
-
3
- var rpcClient = require('./rpc-client.js');
4
- var logger = require('./logger.js');
5
- var sandboxRpcServer = require('./sandbox-rpc-server.js');
6
- require('assert');
7
- require('json-rpc-2.0');
8
- require('./core/crypto.js');
9
- require('crypto');
10
- require('./core/logger.js');
11
- require('./rpc-util.js');
12
- require('./services/sandbox.js');
13
- require('./services/pex/service.js');
14
- require('./services/pex/config.js');
15
- require('@sphereon/pex');
16
-
17
- global.fetch = () => {
18
- throw new Error('fetch is not available in the sandbox');
19
- };
20
-
21
- global.XMLHttpRequest = () => {
22
- throw new Error('XMLHttpRequest is not available in the sandbox');
23
- };
24
-
25
- global.WebSocket = () => {
26
- throw new Error('WebSocket is not available in the sandbox');
27
- };
28
-
29
- global.Worker = () => {
30
- throw new Error('Worker is not available in the sandbox');
31
- };
32
-
33
- global.ServiceWorker = () => {
34
- throw new Error('ServiceWorker is not available in the sandbox');
35
- };
36
-
37
- global.XMLHttpRequestEventTarget = () => {
38
- throw new Error('XMLHttpRequestEventTarget is not available in the sandbox');
39
- };
40
-
41
- global.SharedWorker = () => {
42
- throw new Error('SharedWorker is not available in the sandbox');
43
- };
44
-
45
- global.WebSocketEventTarget = () => {
46
- throw new Error('WebSocketEventTarget is not available in the sandbox');
47
- };
48
-
49
- rpcClient.initRpcClient(jsonRPCRequest => {
50
- postMessage({
51
- type: 'json-rpc-request',
52
- body: jsonRPCRequest,
53
- });
54
-
55
- return Promise.resolve(jsonRPCRequest);
56
- });
57
-
58
- const postMessage = message => {
59
- if (window.ReactNativeWebView) {
60
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
61
- } else {
62
- console.log(message);
63
- }
64
- };
65
-
66
- const addEventListener = (...args) =>
67
- (navigator.appVersion.includes('Android')
68
- ? document
69
- : window
70
- ).addEventListener(...args);
71
-
72
- logger.setLogger({
73
- log: (...params) => {
74
- // Logger disabled for sandbox
75
- },
76
- debug: (...params) => {
77
- // Logger disabled for sandbox
78
- },
79
- });
80
-
81
- global.handleEvent = event => {
82
- const data = event.data;
83
-
84
- if (data && data.type === 'json-rpc-request') {
85
- sandboxRpcServer.receive(data.body).then(response => {
86
- postMessage({
87
- type: 'json-rpc-response',
88
- body: response,
89
- });
90
- });
91
- }
92
-
93
- if (data && data.type === 'json-rpc-response') {
94
- rpcClient.getRpcClient().receive(data.body);
95
- }
96
- };
97
-
98
- addEventListener('message', global.handleEvent);
99
-
100
- postMessage({
101
- type: 'json-rpc-ready',
102
- });
package/lib/sandbox.mjs DELETED
@@ -1,100 +0,0 @@
1
- import { initRpcClient, getRpcClient } from './rpc-client.mjs';
2
- import { setLogger } from './logger.mjs';
3
- import rpcServer from './sandbox-rpc-server.mjs';
4
- import 'assert';
5
- import 'json-rpc-2.0';
6
- import './core/crypto.mjs';
7
- import 'crypto';
8
- import './core/logger.mjs';
9
- import './rpc-util.mjs';
10
- import './services/sandbox.mjs';
11
- import './services/pex/service.mjs';
12
- import './services/pex/config.mjs';
13
- import '@sphereon/pex';
14
-
15
- global.fetch = () => {
16
- throw new Error('fetch is not available in the sandbox');
17
- };
18
-
19
- global.XMLHttpRequest = () => {
20
- throw new Error('XMLHttpRequest is not available in the sandbox');
21
- };
22
-
23
- global.WebSocket = () => {
24
- throw new Error('WebSocket is not available in the sandbox');
25
- };
26
-
27
- global.Worker = () => {
28
- throw new Error('Worker is not available in the sandbox');
29
- };
30
-
31
- global.ServiceWorker = () => {
32
- throw new Error('ServiceWorker is not available in the sandbox');
33
- };
34
-
35
- global.XMLHttpRequestEventTarget = () => {
36
- throw new Error('XMLHttpRequestEventTarget is not available in the sandbox');
37
- };
38
-
39
- global.SharedWorker = () => {
40
- throw new Error('SharedWorker is not available in the sandbox');
41
- };
42
-
43
- global.WebSocketEventTarget = () => {
44
- throw new Error('WebSocketEventTarget is not available in the sandbox');
45
- };
46
-
47
- initRpcClient(jsonRPCRequest => {
48
- postMessage({
49
- type: 'json-rpc-request',
50
- body: jsonRPCRequest,
51
- });
52
-
53
- return Promise.resolve(jsonRPCRequest);
54
- });
55
-
56
- const postMessage = message => {
57
- if (window.ReactNativeWebView) {
58
- window.ReactNativeWebView.postMessage(JSON.stringify(message));
59
- } else {
60
- console.log(message);
61
- }
62
- };
63
-
64
- const addEventListener = (...args) =>
65
- (navigator.appVersion.includes('Android')
66
- ? document
67
- : window
68
- ).addEventListener(...args);
69
-
70
- setLogger({
71
- log: (...params) => {
72
- // Logger disabled for sandbox
73
- },
74
- debug: (...params) => {
75
- // Logger disabled for sandbox
76
- },
77
- });
78
-
79
- global.handleEvent = event => {
80
- const data = event.data;
81
-
82
- if (data && data.type === 'json-rpc-request') {
83
- rpcServer.receive(data.body).then(response => {
84
- postMessage({
85
- type: 'json-rpc-response',
86
- body: response,
87
- });
88
- });
89
- }
90
-
91
- if (data && data.type === 'json-rpc-response') {
92
- getRpcClient().receive(data.body);
93
- }
94
- };
95
-
96
- addEventListener('message', global.handleEvent);
97
-
98
- postMessage({
99
- type: 'json-rpc-ready',
100
- });
@@ -1,113 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var services_storage_index = require('../storage/index.js');
6
- require('../storage/service.js');
7
- require('../storage/service-rpc.js');
8
- require('../rpc-service-client.js');
9
- require('assert');
10
- require('../../rpc-client.js');
11
- require('json-rpc-2.0');
12
- require('../../core/crypto.js');
13
- require('crypto');
14
- require('../../core/logger.js');
15
- require('../../logger.js');
16
- require('../../rpc-util.js');
17
-
18
- class CachedDIDResolver {
19
- router;
20
- ttl;
21
- CACHE_PREFIX = 'did-cache:';
22
- constructor(router, cacheOptions = {}) {
23
- this.router = router;
24
- // 1 hour default
25
- this.ttl = cacheOptions.ttl || 60 * 60 * 1000;
26
- }
27
- getCacheKey(did) {
28
- return `${this.CACHE_PREFIX}${did}`;
29
- }
30
- async getCacheEntry(did) {
31
- const key = this.getCacheKey(did);
32
- const data = await services_storage_index.storageService.getItem(key);
33
- try {
34
- return data ? JSON.parse(data) : null;
35
- }
36
- catch (error) {
37
- console.error('Error parsing cache entry:', error);
38
- return null;
39
- }
40
- }
41
- async setCacheEntry(did, entry) {
42
- const key = this.getCacheKey(did);
43
- await services_storage_index.storageService.setItem(key, JSON.stringify(entry));
44
- }
45
- async getCachedDIDs() {
46
- const allKeys = await services_storage_index.storageService.getAllKeys();
47
- const cachedDIDs = [];
48
- allKeys.forEach(key => {
49
- if (key.startsWith(this.CACHE_PREFIX)) {
50
- cachedDIDs.push(key.replace(this.CACHE_PREFIX, ''));
51
- }
52
- });
53
- return cachedDIDs;
54
- }
55
- async resolve(did) {
56
- const cached = await this.getCacheEntry(did);
57
- if (cached) {
58
- if (Date.now() - cached.timestamp < this.ttl) {
59
- console.log('Cache hit for:', did);
60
- return cached.value;
61
- }
62
- else {
63
- console.log('Cache expired for:', did, 'returning stale value and refreshing in background');
64
- this.refreshInBackground(did);
65
- return cached.value;
66
- }
67
- }
68
- console.log('Cache miss, resolving:', did);
69
- const result = await this.router.resolve(did);
70
- await this.setCacheEntry(result.id, {
71
- value: result,
72
- id: result.id,
73
- timestamp: Date.now()
74
- });
75
- return result;
76
- }
77
- async refreshInBackground(did) {
78
- try {
79
- console.log('Refreshing cache in background for:', did);
80
- const result = await this.router.resolve(did);
81
- await this.setCacheEntry(did, {
82
- value: result,
83
- id: did,
84
- timestamp: Date.now()
85
- });
86
- console.log('Background refresh completed for:', did);
87
- }
88
- catch (error) {
89
- console.warn('Background refresh failed for:', did, error);
90
- }
91
- }
92
- /**
93
- * if the did is provided, it will remove the specific did from the cache
94
- * otherwise, it will clear the entire cache
95
- * @param did
96
- */
97
- async clearCache(did) {
98
- if (did) {
99
- const key = this.getCacheKey(did);
100
- await services_storage_index.storageService.removeItem(key);
101
- }
102
- else {
103
- const allKeys = await services_storage_index.storageService.getAllKeys();
104
- const cacheKeys = allKeys.filter(key => key.startsWith(this.CACHE_PREFIX));
105
- await Promise.all(cacheKeys.map(key => services_storage_index.storageService.removeItem(key)));
106
- }
107
- }
108
- supports(id) {
109
- return this.router.supports(id);
110
- }
111
- }
112
-
113
- exports.CachedDIDResolver = CachedDIDResolver;
@@ -1,109 +0,0 @@
1
- import { storageService } from '../storage/index.mjs';
2
- import '../storage/service.mjs';
3
- import '../storage/service-rpc.mjs';
4
- import '../rpc-service-client.mjs';
5
- import 'assert';
6
- import '../../rpc-client.mjs';
7
- import 'json-rpc-2.0';
8
- import '../../core/crypto.mjs';
9
- import 'crypto';
10
- import '../../core/logger.mjs';
11
- import '../../logger.mjs';
12
- import '../../rpc-util.mjs';
13
-
14
- class CachedDIDResolver {
15
- router;
16
- ttl;
17
- CACHE_PREFIX = 'did-cache:';
18
- constructor(router, cacheOptions = {}) {
19
- this.router = router;
20
- // 1 hour default
21
- this.ttl = cacheOptions.ttl || 60 * 60 * 1000;
22
- }
23
- getCacheKey(did) {
24
- return `${this.CACHE_PREFIX}${did}`;
25
- }
26
- async getCacheEntry(did) {
27
- const key = this.getCacheKey(did);
28
- const data = await storageService.getItem(key);
29
- try {
30
- return data ? JSON.parse(data) : null;
31
- }
32
- catch (error) {
33
- console.error('Error parsing cache entry:', error);
34
- return null;
35
- }
36
- }
37
- async setCacheEntry(did, entry) {
38
- const key = this.getCacheKey(did);
39
- await storageService.setItem(key, JSON.stringify(entry));
40
- }
41
- async getCachedDIDs() {
42
- const allKeys = await storageService.getAllKeys();
43
- const cachedDIDs = [];
44
- allKeys.forEach(key => {
45
- if (key.startsWith(this.CACHE_PREFIX)) {
46
- cachedDIDs.push(key.replace(this.CACHE_PREFIX, ''));
47
- }
48
- });
49
- return cachedDIDs;
50
- }
51
- async resolve(did) {
52
- const cached = await this.getCacheEntry(did);
53
- if (cached) {
54
- if (Date.now() - cached.timestamp < this.ttl) {
55
- console.log('Cache hit for:', did);
56
- return cached.value;
57
- }
58
- else {
59
- console.log('Cache expired for:', did, 'returning stale value and refreshing in background');
60
- this.refreshInBackground(did);
61
- return cached.value;
62
- }
63
- }
64
- console.log('Cache miss, resolving:', did);
65
- const result = await this.router.resolve(did);
66
- await this.setCacheEntry(result.id, {
67
- value: result,
68
- id: result.id,
69
- timestamp: Date.now()
70
- });
71
- return result;
72
- }
73
- async refreshInBackground(did) {
74
- try {
75
- console.log('Refreshing cache in background for:', did);
76
- const result = await this.router.resolve(did);
77
- await this.setCacheEntry(did, {
78
- value: result,
79
- id: did,
80
- timestamp: Date.now()
81
- });
82
- console.log('Background refresh completed for:', did);
83
- }
84
- catch (error) {
85
- console.warn('Background refresh failed for:', did, error);
86
- }
87
- }
88
- /**
89
- * if the did is provided, it will remove the specific did from the cache
90
- * otherwise, it will clear the entire cache
91
- * @param did
92
- */
93
- async clearCache(did) {
94
- if (did) {
95
- const key = this.getCacheKey(did);
96
- await storageService.removeItem(key);
97
- }
98
- else {
99
- const allKeys = await storageService.getAllKeys();
100
- const cacheKeys = allKeys.filter(key => key.startsWith(this.CACHE_PREFIX));
101
- await Promise.all(cacheKeys.map(key => storageService.removeItem(key)));
102
- }
103
- }
104
- supports(id) {
105
- return this.router.supports(id);
106
- }
107
- }
108
-
109
- export { CachedDIDResolver };
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const validation = {};
6
-
7
- exports.validation = validation;