@metamask/profile-sync-controller 0.0.0 → 0.1.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 (272) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/dist/chunk-26CCETCM.mjs +70 -0
  3. package/dist/chunk-2MVOZPBN.js +98 -0
  4. package/dist/chunk-2MVOZPBN.js.map +1 -0
  5. package/dist/chunk-3FJQHCCQ.mjs +106 -0
  6. package/dist/chunk-3FJQHCCQ.mjs.map +1 -0
  7. package/dist/chunk-4OMJ7A6A.js +77 -0
  8. package/dist/chunk-4OMJ7A6A.js.map +1 -0
  9. package/dist/chunk-6P6CUKKI.mjs +30 -0
  10. package/dist/chunk-6P6CUKKI.mjs.map +1 -0
  11. package/dist/{chunk-OF3TQWGX.js → chunk-6TK7544L.js} +34 -34
  12. package/dist/chunk-6TK7544L.js.map +1 -0
  13. package/dist/chunk-76VRE4BI.mjs +18 -0
  14. package/dist/chunk-76VRE4BI.mjs.map +1 -0
  15. package/dist/chunk-772MKTIO.mjs +25 -0
  16. package/dist/chunk-772MKTIO.mjs.map +1 -0
  17. package/dist/chunk-7FCK4BY3.js +25 -0
  18. package/dist/chunk-7FCK4BY3.js.map +1 -0
  19. package/dist/{chunk-CYGZ4WLJ.mjs → chunk-7VMXBDXN.mjs} +36 -5
  20. package/dist/chunk-7VMXBDXN.mjs.map +1 -0
  21. package/dist/chunk-ARWL2LBB.js +273 -0
  22. package/dist/chunk-ARWL2LBB.js.map +1 -0
  23. package/dist/chunk-BFE6TB7Y.mjs +11 -0
  24. package/dist/chunk-BFE6TB7Y.mjs.map +1 -0
  25. package/dist/chunk-BVM4HBM4.js +112 -0
  26. package/dist/chunk-BVM4HBM4.js.map +1 -0
  27. package/dist/chunk-DHHBHLVN.mjs +70 -0
  28. package/dist/chunk-DHHBHLVN.mjs.map +1 -0
  29. package/dist/chunk-DLXLU44Z.js +106 -0
  30. package/dist/chunk-DLXLU44Z.js.map +1 -0
  31. package/dist/chunk-GJJT2CAL.js +3342 -0
  32. package/dist/chunk-GJJT2CAL.js.map +1 -0
  33. package/dist/{chunk-VZXD5DCQ.js → chunk-GLDUXN2T.js} +36 -27
  34. package/dist/chunk-GLDUXN2T.js.map +1 -0
  35. package/dist/chunk-GLS4QZF6.mjs +77 -0
  36. package/dist/chunk-GLS4QZF6.mjs.map +1 -0
  37. package/dist/chunk-H25EBXG5.mjs +58 -0
  38. package/dist/chunk-H25EBXG5.mjs.map +1 -0
  39. package/dist/chunk-IPSBQ3MS.js +30 -0
  40. package/dist/chunk-IPSBQ3MS.js.map +1 -0
  41. package/dist/chunk-IZHWP5VW.mjs +79 -0
  42. package/dist/chunk-IZHWP5VW.mjs.map +1 -0
  43. package/dist/chunk-JAGWB4JI.mjs +102 -0
  44. package/dist/chunk-JAGWB4JI.mjs.map +1 -0
  45. package/dist/chunk-JMU3OVPK.mjs +3342 -0
  46. package/dist/chunk-JMU3OVPK.mjs.map +1 -0
  47. package/dist/chunk-JTDFOATG.js +11 -0
  48. package/dist/chunk-JTDFOATG.js.map +1 -0
  49. package/dist/chunk-JWTNHCVG.js +158 -0
  50. package/dist/chunk-JWTNHCVG.js.map +1 -0
  51. package/dist/chunk-K6G7X6PX.js +70 -0
  52. package/dist/chunk-K6G7X6PX.js.map +1 -0
  53. package/dist/chunk-LHDVZNW5.js +126 -0
  54. package/dist/chunk-LHDVZNW5.js.map +1 -0
  55. package/dist/{chunk-VXPVURGH.mjs → chunk-LN2BY2QF.mjs} +9 -9
  56. package/dist/chunk-LN2BY2QF.mjs.map +1 -0
  57. package/dist/{chunk-6X6I3HZU.js → chunk-LUKNP4HM.js} +28 -26
  58. package/dist/chunk-LUKNP4HM.js.map +1 -0
  59. package/dist/{chunk-GQLHSQGZ.js → chunk-MBTBE4P5.js} +9 -2
  60. package/dist/chunk-MBTBE4P5.js.map +1 -0
  61. package/dist/chunk-PCOIRDTO.js +18 -0
  62. package/dist/chunk-PCOIRDTO.js.map +1 -0
  63. package/dist/chunk-PNZGAAT4.mjs +273 -0
  64. package/dist/chunk-PNZGAAT4.mjs.map +1 -0
  65. package/dist/chunk-PRDECQM6.mjs +221 -0
  66. package/dist/chunk-PRDECQM6.mjs.map +1 -0
  67. package/dist/chunk-QE2F5AZL.mjs +158 -0
  68. package/dist/chunk-QE2F5AZL.mjs.map +1 -0
  69. package/dist/chunk-QHL6SQTC.mjs +112 -0
  70. package/dist/chunk-QHL6SQTC.mjs.map +1 -0
  71. package/dist/chunk-QILE6KIE.js +79 -0
  72. package/dist/chunk-QILE6KIE.js.map +1 -0
  73. package/dist/{chunk-CFST6GWE.js → chunk-T77FC4PB.js} +1 -1
  74. package/dist/chunk-T77FC4PB.js.map +1 -0
  75. package/dist/{chunk-BHVT2QEA.mjs → chunk-TFFQFIJV.mjs} +8 -1
  76. package/dist/chunk-TFFQFIJV.mjs.map +1 -0
  77. package/dist/chunk-UAXWZN5J.js +58 -0
  78. package/dist/chunk-UAXWZN5J.js.map +1 -0
  79. package/dist/{chunk-CZ7YK35S.mjs → chunk-UEZI2POO.mjs} +7 -5
  80. package/dist/{chunk-CZ7YK35S.mjs.map → chunk-UEZI2POO.mjs.map} +1 -1
  81. package/dist/{chunk-4NGEEDGV.mjs → chunk-UWRKMJBI.mjs} +9 -9
  82. package/dist/chunk-UWRKMJBI.mjs.map +1 -0
  83. package/dist/chunk-V46WVGWN.js +70 -0
  84. package/dist/{chunk-UMKBFFZ5.mjs → chunk-VTM5T7Y4.mjs} +13 -4
  85. package/dist/chunk-VTM5T7Y4.mjs.map +1 -0
  86. package/dist/chunk-VYE2DKST.js +102 -0
  87. package/dist/chunk-VYE2DKST.js.map +1 -0
  88. package/dist/chunk-W7JFFMEZ.mjs +98 -0
  89. package/dist/chunk-W7JFFMEZ.mjs.map +1 -0
  90. package/dist/chunk-WAS6V24H.js +221 -0
  91. package/dist/chunk-WAS6V24H.js.map +1 -0
  92. package/dist/{chunk-NRH6O4QZ.js → chunk-XUPRRLBI.js} +45 -14
  93. package/dist/chunk-XUPRRLBI.js.map +1 -0
  94. package/dist/{chunk-2FZSWVHT.mjs → chunk-YWA77VMP.mjs} +1 -1
  95. package/dist/chunk-YWA77VMP.mjs.map +1 -0
  96. package/dist/controllers/authentication/AuthenticationController.js +22 -0
  97. package/dist/controllers/authentication/AuthenticationController.mjs +22 -0
  98. package/dist/controllers/authentication/auth-snap-requests.js +10 -0
  99. package/dist/controllers/authentication/auth-snap-requests.mjs +10 -0
  100. package/dist/controllers/authentication/index.js +27 -0
  101. package/dist/controllers/authentication/index.js.map +1 -0
  102. package/dist/controllers/authentication/index.mjs +27 -0
  103. package/dist/controllers/authentication/index.mjs.map +1 -0
  104. package/dist/controllers/authentication/services.js +32 -0
  105. package/dist/controllers/authentication/services.js.map +1 -0
  106. package/dist/controllers/authentication/services.mjs +32 -0
  107. package/dist/controllers/authentication/services.mjs.map +1 -0
  108. package/dist/controllers/index.js +35 -0
  109. package/dist/controllers/index.js.map +1 -0
  110. package/dist/controllers/index.mjs +35 -0
  111. package/dist/controllers/index.mjs.map +1 -0
  112. package/dist/controllers/user-storage/UserStorageController.js +27 -0
  113. package/dist/controllers/user-storage/UserStorageController.js.map +1 -0
  114. package/dist/controllers/user-storage/UserStorageController.mjs +27 -0
  115. package/dist/controllers/user-storage/UserStorageController.mjs.map +1 -0
  116. package/dist/controllers/user-storage/encryption/cache.js +13 -0
  117. package/dist/controllers/user-storage/encryption/cache.js.map +1 -0
  118. package/dist/controllers/user-storage/encryption/cache.mjs +13 -0
  119. package/dist/controllers/user-storage/encryption/cache.mjs.map +1 -0
  120. package/dist/controllers/user-storage/encryption/encryption.js +12 -0
  121. package/dist/controllers/user-storage/encryption/encryption.js.map +1 -0
  122. package/dist/controllers/user-storage/encryption/encryption.mjs +12 -0
  123. package/dist/controllers/user-storage/encryption/encryption.mjs.map +1 -0
  124. package/dist/controllers/user-storage/encryption/index.js +16 -0
  125. package/dist/controllers/user-storage/encryption/index.js.map +1 -0
  126. package/dist/controllers/user-storage/encryption/index.mjs +16 -0
  127. package/dist/controllers/user-storage/encryption/index.mjs.map +1 -0
  128. package/dist/controllers/user-storage/encryption/utils.js +12 -0
  129. package/dist/controllers/user-storage/encryption/utils.js.map +1 -0
  130. package/dist/controllers/user-storage/encryption/utils.mjs +12 -0
  131. package/dist/controllers/user-storage/encryption/utils.mjs.map +1 -0
  132. package/dist/controllers/user-storage/index.js +37 -0
  133. package/dist/controllers/user-storage/index.js.map +1 -0
  134. package/dist/controllers/user-storage/index.mjs +37 -0
  135. package/dist/controllers/user-storage/index.mjs.map +1 -0
  136. package/dist/controllers/user-storage/schema.js +14 -0
  137. package/dist/controllers/user-storage/schema.js.map +1 -0
  138. package/dist/controllers/user-storage/schema.mjs +14 -0
  139. package/dist/controllers/user-storage/schema.mjs.map +1 -0
  140. package/dist/controllers/user-storage/services.js +31 -0
  141. package/dist/controllers/user-storage/services.js.map +1 -0
  142. package/dist/controllers/user-storage/services.mjs +31 -0
  143. package/dist/controllers/user-storage/services.mjs.map +1 -0
  144. package/dist/index.js +32 -62
  145. package/dist/index.mjs +33 -63
  146. package/dist/sdk/authentication-jwt-bearer/flow-siwe.js +7 -8
  147. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +6 -7
  148. package/dist/sdk/authentication-jwt-bearer/flow-srp.js +7 -8
  149. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +6 -7
  150. package/dist/sdk/authentication-jwt-bearer/services.js +10 -6
  151. package/dist/sdk/authentication-jwt-bearer/services.mjs +11 -7
  152. package/dist/sdk/authentication-jwt-bearer/types.js +3 -3
  153. package/dist/sdk/authentication-jwt-bearer/types.mjs +2 -2
  154. package/dist/sdk/authentication.js +9 -10
  155. package/dist/sdk/authentication.mjs +8 -9
  156. package/dist/sdk/encryption.js +5 -3
  157. package/dist/sdk/encryption.mjs +4 -2
  158. package/dist/sdk/env.js +5 -3
  159. package/dist/sdk/env.mjs +4 -2
  160. package/dist/sdk/errors.js +5 -3
  161. package/dist/sdk/errors.mjs +4 -2
  162. package/dist/sdk/index.js +18 -13
  163. package/dist/sdk/index.mjs +17 -12
  164. package/dist/sdk/user-storage.js +6 -6
  165. package/dist/sdk/user-storage.mjs +5 -5
  166. package/dist/sdk/utils/eip-6963-metamask-provider.js +1 -1
  167. package/dist/sdk/utils/eip-6963-metamask-provider.mjs +1 -1
  168. package/dist/sdk/utils/messaging-signing-snap-requests.js +1 -1
  169. package/dist/sdk/utils/messaging-signing-snap-requests.mjs +1 -1
  170. package/dist/tsconfig.build.tsbuildinfo +1 -1
  171. package/dist/types/controllers/authentication/AuthenticationController.d.ts +73 -0
  172. package/dist/types/controllers/authentication/AuthenticationController.d.ts.map +1 -0
  173. package/dist/types/controllers/authentication/__fixtures__/index.d.ts +3 -0
  174. package/dist/types/controllers/authentication/__fixtures__/index.d.ts.map +1 -0
  175. package/dist/types/controllers/authentication/__fixtures__/mockResponses.d.ts +23 -0
  176. package/dist/types/controllers/authentication/__fixtures__/mockResponses.d.ts.map +1 -0
  177. package/dist/types/controllers/authentication/__fixtures__/mockServices.d.ts +10 -0
  178. package/dist/types/controllers/authentication/__fixtures__/mockServices.d.ts.map +1 -0
  179. package/dist/types/controllers/authentication/auth-snap-requests.d.ts +17 -0
  180. package/dist/types/controllers/authentication/auth-snap-requests.d.ts.map +1 -0
  181. package/dist/types/controllers/authentication/index.d.ts +5 -0
  182. package/dist/types/controllers/authentication/index.d.ts.map +1 -0
  183. package/dist/types/controllers/authentication/services.d.ts +69 -0
  184. package/dist/types/controllers/authentication/services.d.ts.map +1 -0
  185. package/dist/types/controllers/index.d.ts +3 -0
  186. package/dist/types/controllers/index.d.ts.map +1 -0
  187. package/dist/types/controllers/user-storage/UserStorageController.d.ts +84 -0
  188. package/dist/types/controllers/user-storage/UserStorageController.d.ts.map +1 -0
  189. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts +4 -0
  190. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts.map +1 -0
  191. package/dist/types/controllers/user-storage/__fixtures__/mockResponses.d.ts +13 -0
  192. package/dist/types/controllers/user-storage/__fixtures__/mockResponses.d.ts.map +1 -0
  193. package/dist/types/controllers/user-storage/__fixtures__/mockServices.d.ts +9 -0
  194. package/dist/types/controllers/user-storage/__fixtures__/mockServices.d.ts.map +1 -0
  195. package/dist/types/controllers/user-storage/__fixtures__/mockStorage.d.ts +5 -0
  196. package/dist/types/controllers/user-storage/__fixtures__/mockStorage.d.ts.map +1 -0
  197. package/dist/types/controllers/user-storage/encryption/cache.d.ts +31 -0
  198. package/dist/types/controllers/user-storage/encryption/cache.d.ts.map +1 -0
  199. package/dist/types/controllers/user-storage/encryption/encryption.d.ts +26 -0
  200. package/dist/types/controllers/user-storage/encryption/encryption.d.ts.map +1 -0
  201. package/dist/types/controllers/user-storage/encryption/index.d.ts +5 -0
  202. package/dist/types/controllers/user-storage/encryption/index.d.ts.map +1 -0
  203. package/dist/types/controllers/user-storage/encryption/utils.d.ts +4 -0
  204. package/dist/types/controllers/user-storage/encryption/utils.d.ts.map +1 -0
  205. package/dist/types/controllers/user-storage/index.d.ts +6 -0
  206. package/dist/types/controllers/user-storage/index.d.ts.map +1 -0
  207. package/dist/types/controllers/user-storage/schema.d.ts +22 -0
  208. package/dist/types/controllers/user-storage/schema.d.ts.map +1 -0
  209. package/dist/types/controllers/user-storage/services.d.ts +30 -0
  210. package/dist/types/controllers/user-storage/services.d.ts.map +1 -0
  211. package/dist/types/index.d.ts +3 -1
  212. package/dist/types/index.d.ts.map +1 -1
  213. package/dist/types/sdk/__fixtures__/mock-auth.d.ts +3 -0
  214. package/dist/types/sdk/__fixtures__/mock-auth.d.ts.map +1 -1
  215. package/dist/types/sdk/__fixtures__/mock-userstorage.d.ts.map +1 -1
  216. package/dist/types/sdk/__fixtures__/test-utils.d.ts.map +1 -1
  217. package/dist/types/sdk/authentication-jwt-bearer/flow-siwe.d.ts.map +1 -1
  218. package/dist/types/sdk/authentication-jwt-bearer/flow-srp.d.ts.map +1 -1
  219. package/dist/types/sdk/authentication-jwt-bearer/services.d.ts +20 -2
  220. package/dist/types/sdk/authentication-jwt-bearer/services.d.ts.map +1 -1
  221. package/dist/types/sdk/authentication-jwt-bearer/types.d.ts +8 -1
  222. package/dist/types/sdk/authentication-jwt-bearer/types.d.ts.map +1 -1
  223. package/dist/types/sdk/authentication.d.ts +2 -1
  224. package/dist/types/sdk/authentication.d.ts.map +1 -1
  225. package/dist/types/sdk/encryption.d.ts +2 -2
  226. package/dist/types/sdk/encryption.d.ts.map +1 -1
  227. package/dist/types/sdk/env.d.ts +8 -1
  228. package/dist/types/sdk/env.d.ts.map +1 -1
  229. package/dist/types/sdk/errors.d.ts +3 -0
  230. package/dist/types/sdk/errors.d.ts.map +1 -1
  231. package/dist/types/sdk/user-storage.d.ts.map +1 -1
  232. package/package.json +15 -2
  233. package/dist/chunk-2FZSWVHT.mjs.map +0 -1
  234. package/dist/chunk-4NGEEDGV.mjs.map +0 -1
  235. package/dist/chunk-6X6I3HZU.js.map +0 -1
  236. package/dist/chunk-BARZBXO7.js +0 -7
  237. package/dist/chunk-BARZBXO7.js.map +0 -1
  238. package/dist/chunk-BHVT2QEA.mjs.map +0 -1
  239. package/dist/chunk-CFST6GWE.js.map +0 -1
  240. package/dist/chunk-CYGZ4WLJ.mjs.map +0 -1
  241. package/dist/chunk-DEATIRII.js +0 -1
  242. package/dist/chunk-GQLHSQGZ.js.map +0 -1
  243. package/dist/chunk-GVMIXMYB.mjs +0 -67
  244. package/dist/chunk-GVMIXMYB.mjs.map +0 -1
  245. package/dist/chunk-KHFPE566.js +0 -49
  246. package/dist/chunk-KHFPE566.js.map +0 -1
  247. package/dist/chunk-KKRIOEXD.mjs +0 -7
  248. package/dist/chunk-KKRIOEXD.mjs.map +0 -1
  249. package/dist/chunk-MKJYSWME.mjs +0 -1
  250. package/dist/chunk-NRH6O4QZ.js.map +0 -1
  251. package/dist/chunk-OF3TQWGX.js.map +0 -1
  252. package/dist/chunk-UMKBFFZ5.mjs.map +0 -1
  253. package/dist/chunk-UVJVONBF.js +0 -126
  254. package/dist/chunk-UVJVONBF.js.map +0 -1
  255. package/dist/chunk-VHUU4HEY.js +0 -67
  256. package/dist/chunk-VHUU4HEY.js.map +0 -1
  257. package/dist/chunk-VXPVURGH.mjs.map +0 -1
  258. package/dist/chunk-VZXD5DCQ.js.map +0 -1
  259. package/dist/chunk-WJRV2JCX.mjs +0 -49
  260. package/dist/chunk-WJRV2JCX.mjs.map +0 -1
  261. package/dist/chunk-XUI43LEZ.mjs +0 -30
  262. package/dist/chunk-Z4BLTVTB.js +0 -30
  263. package/dist/sdk/authentication-jwt-bearer/constants.js +0 -8
  264. package/dist/sdk/authentication-jwt-bearer/constants.mjs +0 -8
  265. package/dist/types/sdk/authentication-jwt-bearer/constants.d.ts +0 -2
  266. package/dist/types/sdk/authentication-jwt-bearer/constants.d.ts.map +0 -1
  267. /package/dist/{chunk-MKJYSWME.mjs.map → chunk-26CCETCM.mjs.map} +0 -0
  268. /package/dist/{chunk-DEATIRII.js.map → chunk-V46WVGWN.js.map} +0 -0
  269. /package/dist/{chunk-Z4BLTVTB.js.map → controllers/authentication/AuthenticationController.js.map} +0 -0
  270. /package/dist/{chunk-XUI43LEZ.mjs.map → controllers/authentication/AuthenticationController.mjs.map} +0 -0
  271. /package/dist/{sdk/authentication-jwt-bearer/constants.js.map → controllers/authentication/auth-snap-requests.js.map} +0 -0
  272. /package/dist/{sdk/authentication-jwt-bearer/constants.mjs.map → controllers/authentication/auth-snap-requests.mjs.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkZ4BLTVTBjs = require('./chunk-Z4BLTVTB.js');
5
+ var _chunkV46WVGWNjs = require('./chunk-V46WVGWN.js');
6
6
 
7
7
  // src/sdk/encryption.ts
8
8
  var _aes = require('@noble/ciphers/aes');
@@ -23,24 +23,32 @@ function bytesToUtf8(byteArray) {
23
23
  var _ALGORITHM_NONCE_SIZE, _ALGORITHM_KEY_SIZE, _PBKDF2_SALT_SIZE, _PBKDF2_ITERATIONS, _encryptStringV1, encryptStringV1_fn, _decryptStringV1, decryptStringV1_fn, _encrypt, encrypt_fn, _decrypt, decrypt_fn;
24
24
  var EncryptorDecryptor = class {
25
25
  constructor() {
26
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _encryptStringV1);
27
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _decryptStringV1);
28
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _encrypt);
29
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _decrypt);
30
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _ALGORITHM_NONCE_SIZE, 12);
26
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _encryptStringV1);
27
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _decryptStringV1);
28
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _encrypt);
29
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _decrypt);
30
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention
32
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _ALGORITHM_NONCE_SIZE, 12);
31
33
  // 12 bytes
32
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _ALGORITHM_KEY_SIZE, 16);
34
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _ALGORITHM_KEY_SIZE, 16);
33
37
  // 16 bytes
34
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _PBKDF2_SALT_SIZE, 16);
38
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
39
+ // eslint-disable-next-line @typescript-eslint/naming-convention
40
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _PBKDF2_SALT_SIZE, 16);
35
41
  // 16 bytes
36
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _PBKDF2_ITERATIONS, 9e5);
42
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
43
+ // eslint-disable-next-line @typescript-eslint/naming-convention
44
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _PBKDF2_ITERATIONS, 9e5);
37
45
  }
38
46
  encryptString(plaintext, password) {
39
47
  try {
40
48
  if (plaintext.trim().length === 0) {
41
49
  throw new Error("No plain text provided");
42
50
  }
43
- return _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _encryptStringV1, encryptStringV1_fn).call(this, plaintext, password);
51
+ return _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _encryptStringV1, encryptStringV1_fn).call(this, plaintext, password);
44
52
  } catch (e) {
45
53
  const errorMessage = e instanceof Error ? e.message : String(e);
46
54
  throw new Error(`Unable to encrypt string - ${errorMessage}`);
@@ -50,7 +58,7 @@ var EncryptorDecryptor = class {
50
58
  try {
51
59
  const encryptedData = JSON.parse(encryptedDataStr);
52
60
  if (encryptedData.v === "1") {
53
- return _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _decryptStringV1, decryptStringV1_fn).call(this, encryptedData, password);
61
+ return _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _decryptStringV1, decryptStringV1_fn).call(this, encryptedData, password);
54
62
  }
55
63
  throw new Error(
56
64
  `Unsupported encrypted data payload - ${JSON.stringify(encryptedData)}`
@@ -67,21 +75,21 @@ _PBKDF2_SALT_SIZE = new WeakMap();
67
75
  _PBKDF2_ITERATIONS = new WeakMap();
68
76
  _encryptStringV1 = new WeakSet();
69
77
  encryptStringV1_fn = function(plaintext, password) {
70
- const salt = _webcrypto.randomBytes.call(void 0, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE));
78
+ const salt = _webcrypto.randomBytes.call(void 0, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE));
71
79
  const key = _pbkdf2.pbkdf2.call(void 0, _sha256.sha256, password, salt, {
72
- c: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _PBKDF2_ITERATIONS),
73
- dkLen: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _ALGORITHM_KEY_SIZE)
80
+ c: _chunkV46WVGWNjs.__privateGet.call(void 0, this, _PBKDF2_ITERATIONS),
81
+ dkLen: _chunkV46WVGWNjs.__privateGet.call(void 0, this, _ALGORITHM_KEY_SIZE)
74
82
  });
75
83
  const plaintextRaw = _utils.utf8ToBytes.call(void 0, plaintext);
76
84
  const ciphertextAndNonceAndSalt = _utils.concatBytes.call(void 0,
77
85
  salt,
78
- _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _encrypt, encrypt_fn).call(this, plaintextRaw, key)
86
+ _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _encrypt, encrypt_fn).call(this, plaintextRaw, key)
79
87
  );
80
88
  const encryptedData = byteArrayToBase64(ciphertextAndNonceAndSalt);
81
89
  const encryptedPayload = {
82
90
  v: "1",
83
91
  d: encryptedData,
84
- iterations: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _PBKDF2_ITERATIONS)
92
+ iterations: _chunkV46WVGWNjs.__privateGet.call(void 0, this, _PBKDF2_ITERATIONS)
85
93
  };
86
94
  return JSON.stringify(encryptedPayload);
87
95
  };
@@ -91,34 +99,34 @@ decryptStringV1_fn = function(data, password) {
91
99
  const ciphertextAndNonceAndSalt = base64ToByteArray(
92
100
  base64CiphertextAndNonceAndSalt
93
101
  );
94
- const salt = ciphertextAndNonceAndSalt.slice(0, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE));
102
+ const salt = ciphertextAndNonceAndSalt.slice(0, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE));
95
103
  const ciphertextAndNonce = ciphertextAndNonceAndSalt.slice(
96
- _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE),
104
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _PBKDF2_SALT_SIZE),
97
105
  ciphertextAndNonceAndSalt.length
98
106
  );
99
107
  const key = _pbkdf2.pbkdf2.call(void 0, _sha256.sha256, password, salt, {
100
108
  c: iterations,
101
- dkLen: _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _ALGORITHM_KEY_SIZE)
109
+ dkLen: _chunkV46WVGWNjs.__privateGet.call(void 0, this, _ALGORITHM_KEY_SIZE)
102
110
  });
103
- return bytesToUtf8(_chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _decrypt, decrypt_fn).call(this, ciphertextAndNonce, key));
111
+ return bytesToUtf8(_chunkV46WVGWNjs.__privateMethod.call(void 0, this, _decrypt, decrypt_fn).call(this, ciphertextAndNonce, key));
104
112
  };
105
113
  _encrypt = new WeakSet();
106
114
  encrypt_fn = function(plaintext, key) {
107
- const nonce = _webcrypto.randomBytes.call(void 0, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE));
115
+ const nonce = _webcrypto.randomBytes.call(void 0, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE));
108
116
  const ciphertext = _aes.gcm.call(void 0, key, nonce).encrypt(plaintext);
109
117
  return _utils.concatBytes.call(void 0, nonce, ciphertext);
110
118
  };
111
119
  _decrypt = new WeakSet();
112
120
  decrypt_fn = function(ciphertextAndNonce, key) {
113
- const nonce = ciphertextAndNonce.slice(0, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE));
121
+ const nonce = ciphertextAndNonce.slice(0, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE));
114
122
  const ciphertext = ciphertextAndNonce.slice(
115
- _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE),
123
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _ALGORITHM_NONCE_SIZE),
116
124
  ciphertextAndNonce.length
117
125
  );
118
126
  return _aes.gcm.call(void 0, key, nonce).decrypt(ciphertext);
119
127
  };
120
- var encryption = new EncryptorDecryptor();
121
- var encryption_default = encryption;
128
+ var Encryption = new EncryptorDecryptor();
129
+ var encryption_default = Encryption;
122
130
  function createSHA256Hash(data) {
123
131
  const hashedData = _sha256.sha256.call(void 0, data);
124
132
  return _utils.bytesToHex.call(void 0, hashedData);
@@ -127,5 +135,6 @@ function createSHA256Hash(data) {
127
135
 
128
136
 
129
137
 
130
- exports.encryption_default = encryption_default; exports.createSHA256Hash = createSHA256Hash;
131
- //# sourceMappingURL=chunk-VZXD5DCQ.js.map
138
+
139
+ exports.Encryption = Encryption; exports.encryption_default = encryption_default; exports.createSHA256Hash = createSHA256Hash;
140
+ //# sourceMappingURL=chunk-GLDUXN2T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/encryption.ts"],"names":[],"mappings":"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","sourcesContent":["import { gcm } from '@noble/ciphers/aes';\nimport { randomBytes } from '@noble/ciphers/webcrypto';\nimport { pbkdf2 } from '@noble/hashes/pbkdf2';\nimport { sha256 } from '@noble/hashes/sha256';\nimport { utf8ToBytes, concatBytes, bytesToHex } from '@noble/hashes/utils';\n\nexport type EncryptedPayload = {\n v: '1'; // version\n d: string; // data\n iterations: number;\n};\n\n/**\n * Converts Byte Array to Base64 String\n *\n * @param byteArray - array of bytes\n * @returns base64 string\n */\nfunction byteArrayToBase64(byteArray: Uint8Array): string {\n return Buffer.from(byteArray).toString('base64');\n}\n\n/**\n * Converts Base64 String into Byte Array\n *\n * @param base64 - base64 encoded string\n * @returns byte array\n */\nfunction base64ToByteArray(base64: string): Uint8Array {\n return new Uint8Array(Buffer.from(base64, 'base64'));\n}\n\n/**\n * Converts Bytes into UTF-8 Encoded String\n * @param byteArray - array of bytes\n * @returns uft-8 encoded string\n */\nfunction bytesToUtf8(byteArray: Uint8Array): string {\n const decoder = new TextDecoder('utf-8');\n return decoder.decode(byteArray);\n}\n\nclass EncryptorDecryptor {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n #ALGORITHM_NONCE_SIZE = 12; // 12 bytes\n\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n #ALGORITHM_KEY_SIZE = 16; // 16 bytes\n\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n #PBKDF2_SALT_SIZE = 16; // 16 bytes\n\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n #PBKDF2_ITERATIONS = 900_000;\n\n encryptString(plaintext: string, password: string): string {\n try {\n if (plaintext.trim().length === 0) {\n throw new Error('No plain text provided');\n }\n\n return this.#encryptStringV1(plaintext, password);\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage = e instanceof Error ? e.message : String(e);\n throw new Error(`Unable to encrypt string - ${errorMessage}`);\n }\n }\n\n decryptString(encryptedDataStr: string, password: string): string {\n try {\n const encryptedData: EncryptedPayload = JSON.parse(encryptedDataStr);\n if (encryptedData.v === '1') {\n return this.#decryptStringV1(encryptedData, password);\n }\n throw new Error(\n `Unsupported encrypted data payload - ${JSON.stringify(encryptedData)}`,\n );\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage = e instanceof Error ? e.message : String(e);\n throw new Error(`Unable to decrypt string - ${errorMessage}`);\n }\n }\n\n #encryptStringV1(plaintext: string, password: string): string {\n const salt = randomBytes(this.#PBKDF2_SALT_SIZE);\n\n // Derive a key using PBKDF2.\n const key = pbkdf2(sha256, password, salt, {\n c: this.#PBKDF2_ITERATIONS,\n dkLen: this.#ALGORITHM_KEY_SIZE,\n });\n\n // Encrypt and prepend salt.\n const plaintextRaw = utf8ToBytes(plaintext);\n const ciphertextAndNonceAndSalt = concatBytes(\n salt,\n this.#encrypt(plaintextRaw, key),\n );\n\n // Convert to Base64\n const encryptedData = byteArrayToBase64(ciphertextAndNonceAndSalt);\n\n const encryptedPayload: EncryptedPayload = {\n v: '1',\n d: encryptedData,\n iterations: this.#PBKDF2_ITERATIONS,\n };\n\n return JSON.stringify(encryptedPayload);\n }\n\n #decryptStringV1(data: EncryptedPayload, password: string): string {\n const { iterations, d: base64CiphertextAndNonceAndSalt } = data;\n\n // Decode the base64.\n const ciphertextAndNonceAndSalt = base64ToByteArray(\n base64CiphertextAndNonceAndSalt,\n );\n\n // Create buffers of salt and ciphertextAndNonce.\n const salt = ciphertextAndNonceAndSalt.slice(0, this.#PBKDF2_SALT_SIZE);\n const ciphertextAndNonce = ciphertextAndNonceAndSalt.slice(\n this.#PBKDF2_SALT_SIZE,\n ciphertextAndNonceAndSalt.length,\n );\n\n // Derive the key using PBKDF2.\n const key = pbkdf2(sha256, password, salt, {\n c: iterations,\n dkLen: this.#ALGORITHM_KEY_SIZE,\n });\n\n // Decrypt and return result.\n return bytesToUtf8(this.#decrypt(ciphertextAndNonce, key));\n }\n\n #encrypt(plaintext: Uint8Array, key: Uint8Array): Uint8Array {\n const nonce = randomBytes(this.#ALGORITHM_NONCE_SIZE);\n\n // Encrypt and prepend nonce.\n const ciphertext = gcm(key, nonce).encrypt(plaintext);\n\n return concatBytes(nonce, ciphertext);\n }\n\n #decrypt(ciphertextAndNonce: Uint8Array, key: Uint8Array): Uint8Array {\n // Create buffers of nonce and ciphertext.\n const nonce = ciphertextAndNonce.slice(0, this.#ALGORITHM_NONCE_SIZE);\n const ciphertext = ciphertextAndNonce.slice(\n this.#ALGORITHM_NONCE_SIZE,\n ciphertextAndNonce.length,\n );\n\n // Decrypt and return result.\n return gcm(key, nonce).decrypt(ciphertext);\n }\n}\n\nexport const Encryption = new EncryptorDecryptor();\nexport default Encryption;\n\n/**\n * Create a SHA-256 hash from a given string.\n *\n * @param data - input\n * @returns hash\n */\nexport function createSHA256Hash(data: string): string {\n const hashedData = sha256(data);\n return bytesToHex(hashedData);\n}\n"]}
@@ -0,0 +1,77 @@
1
+ // src/sdk/env.ts
2
+ var Env = /* @__PURE__ */ ((Env2) => {
3
+ Env2["DEV"] = "dev";
4
+ Env2["UAT"] = "uat";
5
+ Env2["PRD"] = "prd";
6
+ return Env2;
7
+ })(Env || {});
8
+ var Platform = /* @__PURE__ */ ((Platform2) => {
9
+ Platform2["MOBILE"] = "mobile";
10
+ Platform2["EXTENSION"] = "extension";
11
+ Platform2["PORTFOLIO"] = "portfolio";
12
+ Platform2["INFURA"] = "infura";
13
+ return Platform2;
14
+ })(Platform || {});
15
+ var ENV_URLS = {
16
+ dev: {
17
+ authApiUrl: "https://authentication.dev-api.cx.metamask.io",
18
+ oidcApiUrl: "https://oidc.dev-api.cx.metamask.io",
19
+ userStorageApiUrl: "https://user-storage.dev-api.cx.metamask.io"
20
+ },
21
+ uat: {
22
+ authApiUrl: "https://authentication.uat-api.cx.metamask.io",
23
+ oidcApiUrl: "https://oidc.uat-api.cx.metamask.io",
24
+ userStorageApiUrl: "https://user-storage.uat-api.cx.metamask.io"
25
+ },
26
+ prd: {
27
+ authApiUrl: "https://authentication.api.cx.metamask.io",
28
+ oidcApiUrl: "https://oidc.api.cx.metamask.io",
29
+ userStorageApiUrl: "https://user-storage.api.cx.metamask.io"
30
+ }
31
+ };
32
+ function getEnvUrls(env) {
33
+ if (!ENV_URLS[env]) {
34
+ throw new Error("invalid environment configuration");
35
+ }
36
+ return ENV_URLS[env];
37
+ }
38
+ function getOidcClientId(env, platform) {
39
+ const clientIds = {
40
+ ["dev" /* DEV */]: {
41
+ ["portfolio" /* PORTFOLIO */]: "c7ca94a0-5d52-4635-9502-1a50a9c410cc",
42
+ ["mobile" /* MOBILE */]: "e83c7cc9-267d-4fb4-8fec-f0e3bbe5ae8e",
43
+ ["extension" /* EXTENSION */]: "f1a963d7-50dc-4cb5-8d81-f1f3654f0df3",
44
+ ["infura" /* INFURA */]: "bd887006-0d55-481a-a395-5ff9a0dc52c9"
45
+ },
46
+ ["uat" /* UAT */]: {
47
+ ["portfolio" /* PORTFOLIO */]: "8f2dd4ac-db07-4819-9ba5-1ee0ec1b56d1",
48
+ ["mobile" /* MOBILE */]: "c3cfdcd2-51d6-4fae-ad2c-ff238c8fef53",
49
+ ["extension" /* EXTENSION */]: "a9de167c-c9a6-43d8-af39-d301fd44c485",
50
+ ["infura" /* INFURA */]: "01929890-7002-4c97-9913-8f6c09a6d674"
51
+ },
52
+ ["prd" /* PRD */]: {
53
+ ["portfolio" /* PORTFOLIO */]: "35e1cd62-49c5-4be8-8b6e-a5212f2d2cfb",
54
+ ["mobile" /* MOBILE */]: "75fa62a3-9ca0-4b91-9fe5-76bec86b0257",
55
+ ["extension" /* EXTENSION */]: "1132f10a-b4e5-4390-a5f2-d9c6022db564",
56
+ ["infura" /* INFURA */]: ""
57
+ // unset
58
+ }
59
+ };
60
+ if (!clientIds[env]) {
61
+ throw new Error(`invalid env ${env}: cannot determine oidc client id`);
62
+ }
63
+ if (!clientIds[env][platform]) {
64
+ throw new Error(
65
+ `invalid env ${env} and platform ${platform} combination: cannot determine oidc client id`
66
+ );
67
+ }
68
+ return clientIds[env][platform];
69
+ }
70
+
71
+ export {
72
+ Env,
73
+ Platform,
74
+ getEnvUrls,
75
+ getOidcClientId
76
+ };
77
+ //# sourceMappingURL=chunk-GLS4QZF6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/env.ts"],"sourcesContent":["export const enum Env {\n DEV = 'dev',\n UAT = 'uat',\n PRD = 'prd',\n}\n\nexport const enum Platform {\n MOBILE = 'mobile',\n EXTENSION = 'extension',\n PORTFOLIO = 'portfolio',\n INFURA = 'infura',\n}\n\ntype EnvUrlsEntry = {\n authApiUrl: string;\n oidcApiUrl: string;\n userStorageApiUrl: string;\n};\n\nconst ENV_URLS: Record<Env, EnvUrlsEntry> = {\n dev: {\n authApiUrl: 'https://authentication.dev-api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.dev-api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.dev-api.cx.metamask.io',\n },\n uat: {\n authApiUrl: 'https://authentication.uat-api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.uat-api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.uat-api.cx.metamask.io',\n },\n prd: {\n authApiUrl: 'https://authentication.api.cx.metamask.io',\n oidcApiUrl: 'https://oidc.api.cx.metamask.io',\n userStorageApiUrl: 'https://user-storage.api.cx.metamask.io',\n },\n};\n\n/**\n * Validates and returns correct environment endpoints\n *\n * @param env - environment field\n * @returns the correct environment url\n * @throws on invalid environment passed\n */\nexport function getEnvUrls(env: Env): EnvUrlsEntry {\n if (!ENV_URLS[env]) {\n throw new Error('invalid environment configuration');\n }\n return ENV_URLS[env];\n}\n\n/**\n * Returns the valid OIDC Client ID (used during authorization)\n *\n * @param env - environment field\n * @param platform - platform field\n * @returns the OIDC client id for the environment\n */\nexport function getOidcClientId(env: Env, platform: Platform): string {\n const clientIds = {\n [Env.DEV]: {\n [Platform.PORTFOLIO]: 'c7ca94a0-5d52-4635-9502-1a50a9c410cc',\n [Platform.MOBILE]: 'e83c7cc9-267d-4fb4-8fec-f0e3bbe5ae8e',\n [Platform.EXTENSION]: 'f1a963d7-50dc-4cb5-8d81-f1f3654f0df3',\n [Platform.INFURA]: 'bd887006-0d55-481a-a395-5ff9a0dc52c9',\n },\n [Env.UAT]: {\n [Platform.PORTFOLIO]: '8f2dd4ac-db07-4819-9ba5-1ee0ec1b56d1',\n [Platform.MOBILE]: 'c3cfdcd2-51d6-4fae-ad2c-ff238c8fef53',\n [Platform.EXTENSION]: 'a9de167c-c9a6-43d8-af39-d301fd44c485',\n [Platform.INFURA]: '01929890-7002-4c97-9913-8f6c09a6d674',\n },\n [Env.PRD]: {\n [Platform.PORTFOLIO]: '35e1cd62-49c5-4be8-8b6e-a5212f2d2cfb',\n [Platform.MOBILE]: '75fa62a3-9ca0-4b91-9fe5-76bec86b0257',\n [Platform.EXTENSION]: '1132f10a-b4e5-4390-a5f2-d9c6022db564',\n [Platform.INFURA]: '', // unset\n },\n };\n\n if (!clientIds[env]) {\n throw new Error(`invalid env ${env}: cannot determine oidc client id`);\n }\n\n if (!clientIds[env][platform]) {\n throw new Error(\n `invalid env ${env} and platform ${platform} combination: cannot determine oidc client id`,\n );\n }\n\n return clientIds[env][platform];\n}\n"],"mappings":";AAAO,IAAW,MAAX,kBAAWA,SAAX;AACL,EAAAA,KAAA,SAAM;AACN,EAAAA,KAAA,SAAM;AACN,EAAAA,KAAA,SAAM;AAHU,SAAAA;AAAA,GAAA;AAMX,IAAW,WAAX,kBAAWC,cAAX;AACL,EAAAA,UAAA,YAAS;AACT,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,eAAY;AACZ,EAAAA,UAAA,YAAS;AAJO,SAAAA;AAAA,GAAA;AAalB,IAAM,WAAsC;AAAA,EAC1C,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AAAA,EACA,KAAK;AAAA,IACH,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,mBAAmB;AAAA,EACrB;AACF;AASO,SAAS,WAAW,KAAwB;AACjD,MAAI,CAAC,SAAS,GAAG,GAAG;AAClB,UAAM,IAAI,MAAM,mCAAmC;AAAA,EACrD;AACA,SAAO,SAAS,GAAG;AACrB;AASO,SAAS,gBAAgB,KAAU,UAA4B;AACpE,QAAM,YAAY;AAAA,IAChB,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,IACrB;AAAA,IACA,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,IACrB;AAAA,IACA,CAAC,eAAO,GAAG;AAAA,MACT,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA,MACnB,CAAC,2BAAkB,GAAG;AAAA,MACtB,CAAC,qBAAe,GAAG;AAAA;AAAA,IACrB;AAAA,EACF;AAEA,MAAI,CAAC,UAAU,GAAG,GAAG;AACnB,UAAM,IAAI,MAAM,eAAe,GAAG,mCAAmC;AAAA,EACvE;AAEA,MAAI,CAAC,UAAU,GAAG,EAAE,QAAQ,GAAG;AAC7B,UAAM,IAAI;AAAA,MACR,eAAe,GAAG,iBAAiB,QAAQ;AAAA,IAC7C;AAAA,EACF;AAEA,SAAO,UAAU,GAAG,EAAE,QAAQ;AAChC;","names":["Env","Platform"]}
@@ -0,0 +1,58 @@
1
+ import {
2
+ base64ToByteArray,
3
+ byteArrayToBase64
4
+ } from "./chunk-76VRE4BI.mjs";
5
+
6
+ // src/controllers/user-storage/encryption/cache.ts
7
+ var MAX_PASSWORD_CACHES = 3;
8
+ var MAX_SALT_CACHES = 10;
9
+ var inMemCachedKDF = {};
10
+ var getPasswordCache = (hashedPassword) => {
11
+ inMemCachedKDF[hashedPassword] ?? (inMemCachedKDF[hashedPassword] = /* @__PURE__ */ new Map());
12
+ return inMemCachedKDF[hashedPassword];
13
+ };
14
+ function getCachedKeyBySalt(hashedPassword, salt) {
15
+ const cache = getPasswordCache(hashedPassword);
16
+ const base64Salt = byteArrayToBase64(salt);
17
+ const cachedKey = cache.get(base64Salt);
18
+ if (!cachedKey) {
19
+ return void 0;
20
+ }
21
+ return {
22
+ salt,
23
+ base64Salt,
24
+ key: cachedKey
25
+ };
26
+ }
27
+ function getAnyCachedKey(hashedPassword) {
28
+ const cache = getPasswordCache(hashedPassword);
29
+ const cachedEntry = cache.entries().next().value;
30
+ if (!cachedEntry) {
31
+ return void 0;
32
+ }
33
+ const base64Salt = cachedEntry[0];
34
+ const bytesSalt = base64ToByteArray(base64Salt);
35
+ return {
36
+ salt: bytesSalt,
37
+ base64Salt,
38
+ key: cachedEntry[1]
39
+ };
40
+ }
41
+ function setCachedKey(hashedPassword, salt, key) {
42
+ if (Object.keys(inMemCachedKDF).length > MAX_PASSWORD_CACHES) {
43
+ inMemCachedKDF = {};
44
+ }
45
+ const cache = getPasswordCache(hashedPassword);
46
+ const base64Salt = byteArrayToBase64(salt);
47
+ if (cache.size > MAX_SALT_CACHES) {
48
+ cache.clear();
49
+ }
50
+ cache.set(base64Salt, key);
51
+ }
52
+
53
+ export {
54
+ getCachedKeyBySalt,
55
+ getAnyCachedKey,
56
+ setCachedKey
57
+ };
58
+ //# sourceMappingURL=chunk-H25EBXG5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/user-storage/encryption/cache.ts"],"sourcesContent":["import { base64ToByteArray, byteArrayToBase64 } from './utils';\n\ntype CachedEntry = {\n salt: Uint8Array;\n base64Salt: string;\n key: Uint8Array;\n};\n\nconst MAX_PASSWORD_CACHES = 3;\nconst MAX_SALT_CACHES = 10;\n\n/**\n * In-Memory Caching derived keys based from a given salt and password.\n */\ntype PasswordMemCachedKDF = {\n [hashedPassword: string]: Map<string, Uint8Array>;\n};\nlet inMemCachedKDF: PasswordMemCachedKDF = {};\nconst getPasswordCache = (hashedPassword: string) => {\n inMemCachedKDF[hashedPassword] ??= new Map();\n return inMemCachedKDF[hashedPassword];\n};\n\n/**\n * Returns a given cached derived key from a hashed password and salt\n *\n * @param hashedPassword - hashed password for cache lookup\n * @param salt - provide salt to receive cached key\n * @returns cached key\n */\nexport function getCachedKeyBySalt(\n hashedPassword: string,\n salt: Uint8Array,\n): CachedEntry | undefined {\n const cache = getPasswordCache(hashedPassword);\n const base64Salt = byteArrayToBase64(salt);\n const cachedKey = cache.get(base64Salt);\n if (!cachedKey) {\n return undefined;\n }\n\n return {\n salt,\n base64Salt,\n key: cachedKey,\n };\n}\n\n/**\n * Gets any cached key for a given hashed password\n *\n * @param hashedPassword - hashed password for cache lookup\n * @returns any (the first) cached key\n */\nexport function getAnyCachedKey(\n hashedPassword: string,\n): CachedEntry | undefined {\n const cache = getPasswordCache(hashedPassword);\n\n // Takes 1 item from an Iterator via Map.entries()\n const cachedEntry: [string, Uint8Array] | undefined = cache\n .entries()\n .next().value;\n\n if (!cachedEntry) {\n return undefined;\n }\n\n const base64Salt = cachedEntry[0];\n const bytesSalt = base64ToByteArray(base64Salt);\n return {\n salt: bytesSalt,\n base64Salt,\n key: cachedEntry[1],\n };\n}\n\n/**\n * Sets a key to the in memory cache.\n * We have set an arbitrary size of 10 cached keys per hashed password.\n *\n * @param hashedPassword - hashed password for cache lookup\n * @param salt - salt to set new derived key\n * @param key - derived key we are setting\n */\nexport function setCachedKey(\n hashedPassword: string,\n salt: Uint8Array,\n key: Uint8Array,\n): void {\n // Max password caches\n if (Object.keys(inMemCachedKDF).length > MAX_PASSWORD_CACHES) {\n inMemCachedKDF = {};\n }\n\n const cache = getPasswordCache(hashedPassword);\n const base64Salt = byteArrayToBase64(salt);\n\n // Max salt caches\n if (cache.size > MAX_SALT_CACHES) {\n cache.clear();\n }\n\n cache.set(base64Salt, key);\n}\n"],"mappings":";;;;;;AAQA,IAAM,sBAAsB;AAC5B,IAAM,kBAAkB;AAQxB,IAAI,iBAAuC,CAAC;AAC5C,IAAM,mBAAmB,CAAC,mBAA2B;AACnD,sEAAmC,oBAAI,IAAI;AAC3C,SAAO,eAAe,cAAc;AACtC;AASO,SAAS,mBACd,gBACA,MACyB;AACzB,QAAM,QAAQ,iBAAiB,cAAc;AAC7C,QAAM,aAAa,kBAAkB,IAAI;AACzC,QAAM,YAAY,MAAM,IAAI,UAAU;AACtC,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,KAAK;AAAA,EACP;AACF;AAQO,SAAS,gBACd,gBACyB;AACzB,QAAM,QAAQ,iBAAiB,cAAc;AAG7C,QAAM,cAAgD,MACnD,QAAQ,EACR,KAAK,EAAE;AAEV,MAAI,CAAC,aAAa;AAChB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,YAAY,CAAC;AAChC,QAAM,YAAY,kBAAkB,UAAU;AAC9C,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,KAAK,YAAY,CAAC;AAAA,EACpB;AACF;AAUO,SAAS,aACd,gBACA,MACA,KACM;AAEN,MAAI,OAAO,KAAK,cAAc,EAAE,SAAS,qBAAqB;AAC5D,qBAAiB,CAAC;AAAA,EACpB;AAEA,QAAM,QAAQ,iBAAiB,cAAc;AAC7C,QAAM,aAAa,kBAAkB,IAAI;AAGzC,MAAI,MAAM,OAAO,iBAAiB;AAChC,UAAM,MAAM;AAAA,EACd;AAEA,QAAM,IAAI,YAAY,GAAG;AAC3B;","names":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/controllers/authentication/auth-snap-requests.ts
2
+ var _snapsutils = require('@metamask/snaps-utils');
3
+ var snapId = "npm:@metamask/message-signing-snap";
4
+ function createSnapPublicKeyRequest() {
5
+ return {
6
+ snapId,
7
+ origin: "",
8
+ handler: _snapsutils.HandlerType.OnRpcRequest,
9
+ request: {
10
+ method: "getPublicKey"
11
+ }
12
+ };
13
+ }
14
+ function createSnapSignMessageRequest(message) {
15
+ return {
16
+ snapId,
17
+ origin: "",
18
+ handler: _snapsutils.HandlerType.OnRpcRequest,
19
+ request: {
20
+ method: "signMessage",
21
+ params: { message }
22
+ }
23
+ };
24
+ }
25
+
26
+
27
+
28
+
29
+ exports.createSnapPublicKeyRequest = createSnapPublicKeyRequest; exports.createSnapSignMessageRequest = createSnapSignMessageRequest;
30
+ //# sourceMappingURL=chunk-IPSBQ3MS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/authentication/auth-snap-requests.ts"],"names":[],"mappings":";AAEA,SAAS,mBAAmB;AAI5B,IAAM,SAAS;AAOR,SAAS,6BAA6C;AAC3D,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,IACR,SAAS,YAAY;AAAA,IACrB,SAAS;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AACF;AAQO,SAAS,6BACd,SACgB;AAChB,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,IACR,SAAS,YAAY;AAAA,IACrB,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,QAAQ,EAAE,QAAQ;AAAA,IACpB;AAAA,EACF;AACF","sourcesContent":["import type { HandleSnapRequest } from '@metamask/snaps-controllers';\nimport type { SnapId } from '@metamask/snaps-sdk';\nimport { HandlerType } from '@metamask/snaps-utils';\n\ntype SnapRPCRequest = Parameters<HandleSnapRequest['handler']>[0];\n\nconst snapId = 'npm:@metamask/message-signing-snap' as SnapId;\n\n/**\n * Constructs Request to Message Signing Snap to get Public Key\n *\n * @returns Snap Public Key Request\n */\nexport function createSnapPublicKeyRequest(): SnapRPCRequest {\n return {\n snapId,\n origin: '',\n handler: HandlerType.OnRpcRequest,\n request: {\n method: 'getPublicKey',\n },\n };\n}\n\n/**\n * Constructs Request to get Message Signing Snap to sign a message.\n *\n * @param message - message to sign\n * @returns Snap Sign Message Request\n */\nexport function createSnapSignMessageRequest(\n message: `metamask:${string}`,\n): SnapRPCRequest {\n return {\n snapId,\n origin: '',\n handler: HandlerType.OnRpcRequest,\n request: {\n method: 'signMessage',\n params: { message },\n },\n };\n}\n"]}
@@ -0,0 +1,79 @@
1
+ import {
2
+ JwtBearerAuth
3
+ } from "./chunk-3FJQHCCQ.mjs";
4
+ import {
5
+ SIWEJwtBearerAuth
6
+ } from "./chunk-UWRKMJBI.mjs";
7
+ import {
8
+ SRPJwtBearerAuth
9
+ } from "./chunk-LN2BY2QF.mjs";
10
+ import {
11
+ AuthType
12
+ } from "./chunk-YWA77VMP.mjs";
13
+ import {
14
+ MESSAGE_SIGNING_SNAP,
15
+ SNAP_ORIGIN,
16
+ connectSnap,
17
+ getSnap,
18
+ getSnaps
19
+ } from "./chunk-5EBUFNAN.mjs";
20
+ import {
21
+ STORAGE_URL,
22
+ UserStorage
23
+ } from "./chunk-UEZI2POO.mjs";
24
+ import {
25
+ Encryption,
26
+ createSHA256Hash
27
+ } from "./chunk-VTM5T7Y4.mjs";
28
+ import {
29
+ Env,
30
+ Platform,
31
+ getEnvUrls,
32
+ getOidcClientId
33
+ } from "./chunk-GLS4QZF6.mjs";
34
+ import {
35
+ NonceRetrievalError,
36
+ NotFoundError,
37
+ PairError,
38
+ SignInError,
39
+ UnsupportedAuthTypeError,
40
+ UserStorageError,
41
+ ValidationError
42
+ } from "./chunk-TFFQFIJV.mjs";
43
+ import {
44
+ __export
45
+ } from "./chunk-26CCETCM.mjs";
46
+
47
+ // src/sdk/index.ts
48
+ var sdk_exports = {};
49
+ __export(sdk_exports, {
50
+ AuthType: () => AuthType,
51
+ Encryption: () => Encryption,
52
+ Env: () => Env,
53
+ JwtBearerAuth: () => JwtBearerAuth,
54
+ MESSAGE_SIGNING_SNAP: () => MESSAGE_SIGNING_SNAP,
55
+ NonceRetrievalError: () => NonceRetrievalError,
56
+ NotFoundError: () => NotFoundError,
57
+ PairError: () => PairError,
58
+ Platform: () => Platform,
59
+ SIWEJwtBearerAuth: () => SIWEJwtBearerAuth,
60
+ SNAP_ORIGIN: () => SNAP_ORIGIN,
61
+ SRPJwtBearerAuth: () => SRPJwtBearerAuth,
62
+ STORAGE_URL: () => STORAGE_URL,
63
+ SignInError: () => SignInError,
64
+ UnsupportedAuthTypeError: () => UnsupportedAuthTypeError,
65
+ UserStorage: () => UserStorage,
66
+ UserStorageError: () => UserStorageError,
67
+ ValidationError: () => ValidationError,
68
+ connectSnap: () => connectSnap,
69
+ createSHA256Hash: () => createSHA256Hash,
70
+ getEnvUrls: () => getEnvUrls,
71
+ getOidcClientId: () => getOidcClientId,
72
+ getSnap: () => getSnap,
73
+ getSnaps: () => getSnaps
74
+ });
75
+
76
+ export {
77
+ sdk_exports
78
+ };
79
+ //# sourceMappingURL=chunk-IZHWP5VW.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/index.ts"],"sourcesContent":["export * from './authentication';\nexport * from './user-storage';\nexport * from './env';\nexport * from './errors';\nexport * from './encryption';\nexport * from './utils/messaging-signing-snap-requests';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
@@ -0,0 +1,102 @@
1
+ import {
2
+ require_nock
3
+ } from "./chunk-JMU3OVPK.mjs";
4
+ import {
5
+ UserStorageController
6
+ } from "./chunk-PNZGAAT4.mjs";
7
+ import {
8
+ USER_STORAGE_ENDPOINT
9
+ } from "./chunk-DHHBHLVN.mjs";
10
+ import {
11
+ createEntryPath
12
+ } from "./chunk-772MKTIO.mjs";
13
+ import {
14
+ encryption_default as encryption_default2
15
+ } from "./chunk-BFE6TB7Y.mjs";
16
+ import {
17
+ createSHA256Hash,
18
+ encryption_default
19
+ } from "./chunk-QE2F5AZL.mjs";
20
+ import {
21
+ __export,
22
+ __toESM
23
+ } from "./chunk-26CCETCM.mjs";
24
+
25
+ // src/controllers/user-storage/index.ts
26
+ var user_storage_exports = {};
27
+ __export(user_storage_exports, {
28
+ Controller: () => UserStorageController,
29
+ Encryption: () => encryption_default,
30
+ Mocks: () => fixtures_exports,
31
+ createSHA256Hash: () => createSHA256Hash
32
+ });
33
+
34
+ // src/controllers/user-storage/__fixtures__/index.ts
35
+ var fixtures_exports = {};
36
+ __export(fixtures_exports, {
37
+ MOCK_ENCRYPTED_STORAGE_DATA: () => MOCK_ENCRYPTED_STORAGE_DATA,
38
+ MOCK_STORAGE_DATA: () => MOCK_STORAGE_DATA,
39
+ MOCK_STORAGE_KEY: () => MOCK_STORAGE_KEY,
40
+ MOCK_STORAGE_KEY_SIGNATURE: () => MOCK_STORAGE_KEY_SIGNATURE,
41
+ MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT: () => MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
42
+ getMockUserStorageGetResponse: () => getMockUserStorageGetResponse,
43
+ getMockUserStoragePutResponse: () => getMockUserStoragePutResponse,
44
+ mockEndpointGetUserStorage: () => mockEndpointGetUserStorage,
45
+ mockEndpointUpsertUserStorage: () => mockEndpointUpsertUserStorage
46
+ });
47
+
48
+ // src/controllers/user-storage/__fixtures__/mockStorage.ts
49
+ var MOCK_STORAGE_KEY_SIGNATURE = "mockStorageKey";
50
+ var MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);
51
+ var MOCK_STORAGE_DATA = JSON.stringify({ hello: "world" });
52
+ var MOCK_ENCRYPTED_STORAGE_DATA = encryption_default2.encryptString(
53
+ MOCK_STORAGE_DATA,
54
+ MOCK_STORAGE_KEY
55
+ );
56
+
57
+ // src/controllers/user-storage/__fixtures__/mockResponses.ts
58
+ var MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT = `${USER_STORAGE_ENDPOINT}${createEntryPath(
59
+ "notificationSettings",
60
+ MOCK_STORAGE_KEY
61
+ )}`;
62
+ var MOCK_GET_USER_STORAGE_RESPONSE = {
63
+ HashedKey: "HASHED_KEY",
64
+ Data: MOCK_ENCRYPTED_STORAGE_DATA
65
+ };
66
+ var getMockUserStorageGetResponse = () => {
67
+ return {
68
+ url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
69
+ requestMethod: "GET",
70
+ response: MOCK_GET_USER_STORAGE_RESPONSE
71
+ };
72
+ };
73
+ var getMockUserStoragePutResponse = () => {
74
+ return {
75
+ url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,
76
+ requestMethod: "PUT",
77
+ response: null
78
+ };
79
+ };
80
+
81
+ // src/controllers/user-storage/__fixtures__/mockServices.ts
82
+ var import_nock = __toESM(require_nock());
83
+ var mockEndpointGetUserStorage = (mockReply) => {
84
+ const mockResponse = getMockUserStorageGetResponse();
85
+ const reply = mockReply ?? {
86
+ status: 200,
87
+ body: mockResponse.response
88
+ };
89
+ const mockEndpoint = (0, import_nock.default)(mockResponse.url).get("").reply(reply.status, reply.body);
90
+ return mockEndpoint;
91
+ };
92
+ var mockEndpointUpsertUserStorage = (mockReply) => {
93
+ const mockResponse = getMockUserStoragePutResponse();
94
+ const mockEndpoint = (0, import_nock.default)(mockResponse.url).put("").reply(mockReply?.status ?? 204);
95
+ return mockEndpoint;
96
+ };
97
+
98
+ export {
99
+ fixtures_exports,
100
+ user_storage_exports
101
+ };
102
+ //# sourceMappingURL=chunk-JAGWB4JI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/user-storage/index.ts","../src/controllers/user-storage/__fixtures__/index.ts","../src/controllers/user-storage/__fixtures__/mockStorage.ts","../src/controllers/user-storage/__fixtures__/mockResponses.ts","../src/controllers/user-storage/__fixtures__/mockServices.ts"],"sourcesContent":["import Controller from './UserStorageController';\n\nexport { Controller };\nexport * from './UserStorageController';\nexport * from './encryption';\nexport * as Mocks from './__fixtures__';\n","export * from './mockResponses';\nexport * from './mockServices';\nexport * from './mockStorage';\n","import encryption, { createSHA256Hash } from '../encryption';\n\nexport const MOCK_STORAGE_KEY_SIGNATURE = 'mockStorageKey';\nexport const MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);\nexport const MOCK_STORAGE_DATA = JSON.stringify({ hello: 'world' });\nexport const MOCK_ENCRYPTED_STORAGE_DATA = encryption.encryptString(\n MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n);\n","import { createEntryPath } from '../schema';\nimport type { GetUserStorageResponse } from '../services';\nimport { USER_STORAGE_ENDPOINT } from '../services';\nimport { MOCK_ENCRYPTED_STORAGE_DATA, MOCK_STORAGE_KEY } from './mockStorage';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT = `${USER_STORAGE_ENDPOINT}${createEntryPath(\n 'notificationSettings',\n MOCK_STORAGE_KEY,\n)}`;\n\nconst MOCK_GET_USER_STORAGE_RESPONSE: GetUserStorageResponse = {\n HashedKey: 'HASHED_KEY',\n Data: MOCK_ENCRYPTED_STORAGE_DATA,\n};\n\nexport const getMockUserStorageGetResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_GET_USER_STORAGE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStoragePutResponse = () => {\n return {\n url: MOCK_USER_STORAGE_NOTIFICATIONS_ENDPOINT,\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n","import nock from 'nock';\n\nimport {\n getMockUserStorageGetResponse,\n getMockUserStoragePutResponse,\n} from './mockResponses';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nexport const mockEndpointGetUserStorage = (mockReply?: MockReply) => {\n const mockResponse = getMockUserStorageGetResponse();\n const reply = mockReply ?? {\n status: 200,\n body: mockResponse.response,\n };\n\n const mockEndpoint = nock(mockResponse.url)\n .get('')\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const mockEndpointUpsertUserStorage = (\n mockReply?: Pick<MockReply, 'status'>,\n) => {\n const mockResponse = getMockUserStoragePutResponse();\n const mockEndpoint = nock(mockResponse.url)\n .put('')\n .reply(mockReply?.status ?? 204);\n return mockEndpoint;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,6BAA6B;AACnC,IAAM,mBAAmB,iBAAiB,0BAA0B;AACpE,IAAM,oBAAoB,KAAK,UAAU,EAAE,OAAO,QAAQ,CAAC;AAC3D,IAAM,8BAA8BA,oBAAW;AAAA,EACpD;AAAA,EACA;AACF;;;ACGO,IAAM,2CAA2C,GAAG,qBAAqB,GAAG;AAAA,EACjF;AAAA,EACA;AACF,CAAC;AAED,IAAM,iCAAyD;AAAA,EAC7D,WAAW;AAAA,EACX,MAAM;AACR;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,gCAAgC,MAAM;AACjD,SAAO;AAAA,IACL,KAAK;AAAA,IACL,eAAe;AAAA,IACf,UAAU;AAAA,EACZ;AACF;;;ACnCA,kBAAiB;AAYV,IAAM,6BAA6B,CAAC,cAA0B;AACnE,QAAM,eAAe,8BAA8B;AACnD,QAAM,QAAQ,aAAa;AAAA,IACzB,QAAQ;AAAA,IACR,MAAM,aAAa;AAAA,EACrB;AAEA,QAAM,mBAAe,YAAAC,SAAK,aAAa,GAAG,EACvC,IAAI,EAAE,EACN,MAAM,MAAM,QAAQ,MAAM,IAAI;AAEjC,SAAO;AACT;AAEO,IAAM,gCAAgC,CAC3C,cACG;AACH,QAAM,eAAe,8BAA8B;AACnD,QAAM,mBAAe,YAAAA,SAAK,aAAa,GAAG,EACvC,IAAI,EAAE,EACN,MAAM,WAAW,UAAU,GAAG;AACjC,SAAO;AACT;","names":["encryption_default","nock"]}