@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
package/CHANGELOG.md CHANGED
@@ -7,4 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- [Unreleased]: https://github.com/MetaMask/core/
10
+ ## [0.1.0]
11
+
12
+ ### Added
13
+
14
+ - Initial release
15
+
16
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.1.0...HEAD
17
+ [0.1.0]: https://github.com/MetaMask/core/releases/tag/@metamask/profile-sync-controller@0.1.0
@@ -0,0 +1,70 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
8
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
9
+ }) : x)(function(x) {
10
+ if (typeof require !== "undefined")
11
+ return require.apply(this, arguments);
12
+ throw Error('Dynamic require of "' + x + '" is not supported');
13
+ });
14
+ var __commonJS = (cb, mod) => function __require2() {
15
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
+ };
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __accessCheck = (obj, member, msg) => {
38
+ if (!member.has(obj))
39
+ throw TypeError("Cannot " + msg);
40
+ };
41
+ var __privateGet = (obj, member, getter) => {
42
+ __accessCheck(obj, member, "read from private field");
43
+ return getter ? getter.call(obj) : member.get(obj);
44
+ };
45
+ var __privateAdd = (obj, member, value) => {
46
+ if (member.has(obj))
47
+ throw TypeError("Cannot add the same private member more than once");
48
+ member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
49
+ };
50
+ var __privateSet = (obj, member, value, setter) => {
51
+ __accessCheck(obj, member, "write to private field");
52
+ setter ? setter.call(obj, value) : member.set(obj, value);
53
+ return value;
54
+ };
55
+ var __privateMethod = (obj, member, method) => {
56
+ __accessCheck(obj, member, "access private method");
57
+ return method;
58
+ };
59
+
60
+ export {
61
+ __require,
62
+ __commonJS,
63
+ __export,
64
+ __toESM,
65
+ __privateGet,
66
+ __privateAdd,
67
+ __privateSet,
68
+ __privateMethod
69
+ };
70
+ //# sourceMappingURL=chunk-26CCETCM.mjs.map
@@ -0,0 +1,98 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunk4OMJ7A6Ajs = require('./chunk-4OMJ7A6A.js');
5
+
6
+ // src/controllers/authentication/services.ts
7
+ var ENV_URLS = _chunk4OMJ7A6Ajs.getEnvUrls.call(void 0, "prd" /* PRD */);
8
+ var AUTH_ENDPOINT = ENV_URLS.authApiUrl;
9
+ var AUTH_NONCE_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/nonce`;
10
+ var AUTH_LOGIN_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/srp/login`;
11
+ var OIDC_ENDPOINT = ENV_URLS.oidcApiUrl || "";
12
+ var OIDC_TOKENS_ENDPOINT = `${OIDC_ENDPOINT}/oauth2/token`;
13
+ var OIDC_CLIENT_ID = _chunk4OMJ7A6Ajs.getOidcClientId.call(void 0, "prd" /* PRD */, "extension" /* EXTENSION */);
14
+ var OIDC_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:jwt-bearer";
15
+ async function getNonce(publicKey) {
16
+ const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);
17
+ nonceUrl.searchParams.set("identifier", publicKey);
18
+ try {
19
+ const nonceResponse = await fetch(nonceUrl.toString());
20
+ if (!nonceResponse.ok) {
21
+ return null;
22
+ }
23
+ const nonceJson = await nonceResponse.json();
24
+ return nonceJson?.nonce ?? null;
25
+ } catch (e) {
26
+ console.error("authentication-controller/services: unable to get nonce", e);
27
+ return null;
28
+ }
29
+ }
30
+ async function login(rawMessage, signature, clientMetaMetrics) {
31
+ try {
32
+ const response = await fetch(AUTH_LOGIN_ENDPOINT, {
33
+ method: "POST",
34
+ headers: {
35
+ "Content-Type": "application/json"
36
+ },
37
+ body: JSON.stringify({
38
+ signature,
39
+ // eslint-disable-next-line @typescript-eslint/naming-convention
40
+ raw_message: rawMessage,
41
+ metametrics: {
42
+ // eslint-disable-next-line @typescript-eslint/naming-convention
43
+ metametrics_id: clientMetaMetrics.metametricsId,
44
+ agent: clientMetaMetrics.agent
45
+ }
46
+ })
47
+ });
48
+ if (!response.ok) {
49
+ return null;
50
+ }
51
+ const loginResponse = await response.json();
52
+ return loginResponse ?? null;
53
+ } catch (e) {
54
+ console.error("authentication-controller/services: unable to login", e);
55
+ return null;
56
+ }
57
+ }
58
+ async function getAccessToken(jwtToken) {
59
+ const headers = new Headers({
60
+ "Content-Type": "application/x-www-form-urlencoded"
61
+ });
62
+ const urlEncodedBody = new URLSearchParams();
63
+ urlEncodedBody.append("grant_type", OIDC_GRANT_TYPE);
64
+ urlEncodedBody.append("client_id", OIDC_CLIENT_ID);
65
+ urlEncodedBody.append("assertion", jwtToken);
66
+ try {
67
+ const response = await fetch(OIDC_TOKENS_ENDPOINT, {
68
+ method: "POST",
69
+ headers,
70
+ body: urlEncodedBody.toString()
71
+ });
72
+ if (!response.ok) {
73
+ return null;
74
+ }
75
+ const accessTokenResponse = await response.json();
76
+ return accessTokenResponse?.access_token ?? null;
77
+ } catch (e) {
78
+ console.error(
79
+ "authentication-controller/services: unable to get access token",
80
+ e
81
+ );
82
+ return null;
83
+ }
84
+ }
85
+ function createLoginRawMessage(nonce, publicKey) {
86
+ return `metamask:${nonce}:${publicKey}`;
87
+ }
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ exports.AUTH_NONCE_ENDPOINT = AUTH_NONCE_ENDPOINT; exports.AUTH_LOGIN_ENDPOINT = AUTH_LOGIN_ENDPOINT; exports.OIDC_TOKENS_ENDPOINT = OIDC_TOKENS_ENDPOINT; exports.getNonce = getNonce; exports.login = login; exports.getAccessToken = getAccessToken; exports.createLoginRawMessage = createLoginRawMessage;
98
+ //# sourceMappingURL=chunk-2MVOZPBN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/authentication/services.ts"],"names":[],"mappings":";;;;;;AAEA,IAAM,WAAW,0BAAkB;AAEnC,IAAM,gBAAwB,SAAS;AAChC,IAAM,sBAAsB,GAAG,aAAa;AAC5C,IAAM,sBAAsB,GAAG,aAAa;AAEnD,IAAM,gBAAwB,SAAS,cAAc;AAC9C,IAAM,uBAAuB,GAAG,aAAa;AACpD,IAAM,iBAAiB,4DAA2C;AAClE,IAAM,kBAAkB;AAYxB,eAAsB,SAAS,WAA2C;AACxE,QAAM,WAAW,IAAI,IAAI,mBAAmB;AAC5C,WAAS,aAAa,IAAI,cAAc,SAAS;AAEjD,MAAI;AACF,UAAM,gBAAgB,MAAM,MAAM,SAAS,SAAS,CAAC;AACrD,QAAI,CAAC,cAAc,IAAI;AACrB,aAAO;AAAA,IACT;AAEA,UAAM,YAA2B,MAAM,cAAc,KAAK;AAC1D,WAAO,WAAW,SAAS;AAAA,EAC7B,SAAS,GAAG;AACV,YAAQ,MAAM,2DAA2D,CAAC;AAC1E,WAAO;AAAA,EACT;AACF;AAqCA,eAAsB,MACpB,YACA,WACA,mBAC+B;AAC/B,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,qBAAqB;AAAA,MAChD,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA;AAAA,QAEA,aAAa;AAAA,QACb,aAAa;AAAA;AAAA,UAEX,gBAAgB,kBAAkB;AAAA,UAClC,OAAO,kBAAkB;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,gBAA+B,MAAM,SAAS,KAAK;AACzD,WAAO,iBAAiB;AAAA,EAC1B,SAAS,GAAG;AACV,YAAQ,MAAM,uDAAuD,CAAC;AACtE,WAAO;AAAA,EACT;AACF;AAmBA,eAAsB,eAAe,UAA0C;AAC7E,QAAM,UAAU,IAAI,QAAQ;AAAA,IAC1B,gBAAgB;AAAA,EAClB,CAAC;AAED,QAAM,iBAAiB,IAAI,gBAAgB;AAC3C,iBAAe,OAAO,cAAc,eAAe;AACnD,iBAAe,OAAO,aAAa,cAAc;AACjD,iBAAe,OAAO,aAAa,QAAQ;AAE3C,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,sBAAsB;AAAA,MACjD,QAAQ;AAAA,MACR;AAAA,MACA,MAAM,eAAe,SAAS;AAAA,IAChC,CAAC;AAED,QAAI,CAAC,SAAS,IAAI;AAChB,aAAO;AAAA,IACT;AAEA,UAAM,sBAA0C,MAAM,SAAS,KAAK;AACpE,WAAO,qBAAqB,gBAAgB;AAAA,EAC9C,SAAS,GAAG;AACV,YAAQ;AAAA,MACN;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;AASO,SAAS,sBACd,OACA,WACgC;AAChC,SAAO,YAAY,KAAK,IAAI,SAAS;AACvC","sourcesContent":["import { Env, Platform, getEnvUrls, getOidcClientId } from '../../sdk';\n\nconst ENV_URLS = getEnvUrls(Env.PRD);\n\nconst AUTH_ENDPOINT: string = ENV_URLS.authApiUrl;\nexport const AUTH_NONCE_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/nonce`;\nexport const AUTH_LOGIN_ENDPOINT = `${AUTH_ENDPOINT}/api/v2/srp/login`;\n\nconst OIDC_ENDPOINT: string = ENV_URLS.oidcApiUrl || '';\nexport const OIDC_TOKENS_ENDPOINT = `${OIDC_ENDPOINT}/oauth2/token`;\nconst OIDC_CLIENT_ID = getOidcClientId(Env.PRD, Platform.EXTENSION);\nconst OIDC_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:jwt-bearer';\n\nexport type NonceResponse = {\n nonce: string;\n};\n\n/**\n * Auth Service - Get Nonce. Used for the initial JWTBearer flow\n *\n * @param publicKey - public key to associate a nonce with\n * @returns the nonce or null if failed\n */\nexport async function getNonce(publicKey: string): Promise<string | null> {\n const nonceUrl = new URL(AUTH_NONCE_ENDPOINT);\n nonceUrl.searchParams.set('identifier', publicKey);\n\n try {\n const nonceResponse = await fetch(nonceUrl.toString());\n if (!nonceResponse.ok) {\n return null;\n }\n\n const nonceJson: NonceResponse = await nonceResponse.json();\n return nonceJson?.nonce ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to get nonce', e);\n return null;\n }\n}\n\n/**\n * The Login API Server Response Shape\n */\nexport type LoginResponse = {\n token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: string;\n /**\n * Contains anonymous information about the logged in profile.\n *\n * @property identifier_id - a deterministic unique identifier on the method used to sign in\n * @property profile_id - a unique id for a given profile\n * @property metametrics_id - an anonymous server id\n */\n profile: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: string;\n };\n};\n\ntype ClientMetaMetrics = {\n metametricsId: string;\n agent: 'extension' | 'mobile';\n};\n\n/**\n * Auth Service - Login. Will perform login with a given signature and will return a single use JWT Token.\n *\n * @param rawMessage - the original message before signing\n * @param signature - the signed message\n * @param clientMetaMetrics - optional client metametrics id (to associate on backend)\n * @returns The Login Response\n */\nexport async function login(\n rawMessage: string,\n signature: string,\n clientMetaMetrics: ClientMetaMetrics,\n): Promise<LoginResponse | null> {\n try {\n const response = await fetch(AUTH_LOGIN_ENDPOINT, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n signature,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n raw_message: rawMessage,\n metametrics: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: clientMetaMetrics.metametricsId,\n agent: clientMetaMetrics.agent,\n },\n }),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const loginResponse: LoginResponse = await response.json();\n return loginResponse ?? null;\n } catch (e) {\n console.error('authentication-controller/services: unable to login', e);\n return null;\n }\n}\n\n/**\n * The Auth API Token Response Shape\n */\nexport type OAuthTokenResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: number;\n};\n\n/**\n * OIDC Service - Access Token. Trades the Auth Token for an access token (to be used for other authenticated endpoints)\n * NOTE - the access token is short lived, which means it is best practice to validate session before calling authenticated endpoints\n *\n * @param jwtToken - the JWT Auth Token, received from `/login`\n * @returns JWT Access token to store and use on authorized endpoints.\n */\nexport async function getAccessToken(jwtToken: string): Promise<string | null> {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded',\n });\n\n const urlEncodedBody = new URLSearchParams();\n urlEncodedBody.append('grant_type', OIDC_GRANT_TYPE);\n urlEncodedBody.append('client_id', OIDC_CLIENT_ID);\n urlEncodedBody.append('assertion', jwtToken);\n\n try {\n const response = await fetch(OIDC_TOKENS_ENDPOINT, {\n method: 'POST',\n headers,\n body: urlEncodedBody.toString(),\n });\n\n if (!response.ok) {\n return null;\n }\n\n const accessTokenResponse: OAuthTokenResponse = await response.json();\n return accessTokenResponse?.access_token ?? null;\n } catch (e) {\n console.error(\n 'authentication-controller/services: unable to get access token',\n e,\n );\n return null;\n }\n}\n\n/**\n * Utility to create the raw login message for the JWT bearer flow (via SRP)\n *\n * @param nonce - nonce received from `/nonce` endpoint\n * @param publicKey - public key used to retrieve nonce and for message signing\n * @returns Raw Message which will be used for signing & logging in.\n */\nexport function createLoginRawMessage(\n nonce: string,\n publicKey: string,\n): `metamask:${string}:${string}` {\n return `metamask:${nonce}:${publicKey}` as const;\n}\n"]}
@@ -0,0 +1,106 @@
1
+ import {
2
+ SIWEJwtBearerAuth
3
+ } from "./chunk-UWRKMJBI.mjs";
4
+ import {
5
+ SRPJwtBearerAuth
6
+ } from "./chunk-LN2BY2QF.mjs";
7
+ import {
8
+ getNonce,
9
+ pairIdentifiers
10
+ } from "./chunk-7VMXBDXN.mjs";
11
+ import {
12
+ PairError,
13
+ UnsupportedAuthTypeError
14
+ } from "./chunk-TFFQFIJV.mjs";
15
+ import {
16
+ __privateAdd,
17
+ __privateGet,
18
+ __privateMethod,
19
+ __privateSet
20
+ } from "./chunk-26CCETCM.mjs";
21
+
22
+ // src/sdk/authentication.ts
23
+ var _type, _env, _sdk, _assertSIWE, assertSIWE_fn;
24
+ var JwtBearerAuth = class {
25
+ constructor(...args) {
26
+ __privateAdd(this, _assertSIWE);
27
+ __privateAdd(this, _type, void 0);
28
+ __privateAdd(this, _env, void 0);
29
+ __privateAdd(this, _sdk, void 0);
30
+ __privateSet(this, _type, args[0].type);
31
+ __privateSet(this, _env, args[0].env);
32
+ if (args[0].type === "SRP" /* SRP */) {
33
+ __privateSet(this, _sdk, new SRPJwtBearerAuth(args[0], args[1]));
34
+ return;
35
+ }
36
+ if (args[0].type === "SiWE" /* SiWE */) {
37
+ __privateSet(this, _sdk, new SIWEJwtBearerAuth(args[0], args[1]));
38
+ return;
39
+ }
40
+ throw new UnsupportedAuthTypeError("unsupported auth type");
41
+ }
42
+ async getAccessToken() {
43
+ return await __privateGet(this, _sdk).getAccessToken();
44
+ }
45
+ async getUserProfile() {
46
+ return await __privateGet(this, _sdk).getUserProfile();
47
+ }
48
+ async getIdentifier() {
49
+ return await __privateGet(this, _sdk).getIdentifier();
50
+ }
51
+ async signMessage(message) {
52
+ return await __privateGet(this, _sdk).signMessage(message);
53
+ }
54
+ async pairIdentifiers(pairing) {
55
+ const profile = await this.getUserProfile();
56
+ const n = await getNonce(profile.profileId, __privateGet(this, _env));
57
+ const logins = await Promise.all(
58
+ pairing.map(async (p) => {
59
+ try {
60
+ const raw = `metamask:${n.nonce}:${p.identifier}`;
61
+ const sig = await p.signMessage(raw);
62
+ return {
63
+ signature: sig,
64
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
65
+ // eslint-disable-next-line @typescript-eslint/naming-convention
66
+ raw_message: raw,
67
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
68
+ // eslint-disable-next-line @typescript-eslint/naming-convention
69
+ encrypted_storage_key: p.encryptedStorageKey,
70
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
71
+ // eslint-disable-next-line @typescript-eslint/naming-convention
72
+ identifier_type: p.identifierType
73
+ };
74
+ } catch (e) {
75
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? "");
76
+ throw new PairError(
77
+ `failed to sign pairing message: ${errorMessage}`
78
+ );
79
+ }
80
+ })
81
+ );
82
+ const accessToken = await this.getAccessToken();
83
+ await pairIdentifiers(n.nonce, logins, accessToken, __privateGet(this, _env));
84
+ }
85
+ prepare(signer) {
86
+ __privateMethod(this, _assertSIWE, assertSIWE_fn).call(this, __privateGet(this, _type), __privateGet(this, _sdk));
87
+ __privateGet(this, _sdk).prepare(signer);
88
+ }
89
+ };
90
+ _type = new WeakMap();
91
+ _env = new WeakMap();
92
+ _sdk = new WeakMap();
93
+ _assertSIWE = new WeakSet();
94
+ assertSIWE_fn = function(type, sdk) {
95
+ if (type === "SiWE" /* SiWE */) {
96
+ return;
97
+ }
98
+ throw new UnsupportedAuthTypeError(
99
+ "This method is only available via SIWE auth type"
100
+ );
101
+ };
102
+
103
+ export {
104
+ JwtBearerAuth
105
+ };
106
+ //# sourceMappingURL=chunk-3FJQHCCQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/authentication.ts"],"sourcesContent":["import { SIWEJwtBearerAuth } from './authentication-jwt-bearer/flow-siwe';\nimport { SRPJwtBearerAuth } from './authentication-jwt-bearer/flow-srp';\nimport {\n getNonce,\n pairIdentifiers,\n} from './authentication-jwt-bearer/services';\nimport type { UserProfile, Pair } from './authentication-jwt-bearer/types';\nimport { AuthType } from './authentication-jwt-bearer/types';\nimport type { Env } from './env';\nimport { PairError, UnsupportedAuthTypeError } from './errors';\n\n// Computing the Classes, so we only get back the public methods for the interface.\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/naming-convention\ntype Compute<T> = T extends infer U ? { [K in keyof U]: U[K] } : never;\ntype SIWEInterface = Compute<SIWEJwtBearerAuth>;\ntype SRPInterface = Compute<SRPJwtBearerAuth>;\n\ntype SiweParams = ConstructorParameters<typeof SIWEJwtBearerAuth>;\ntype SRPParams = ConstructorParameters<typeof SRPJwtBearerAuth>;\ntype JwtBearerAuthParams = SiweParams | SRPParams;\n\nexport class JwtBearerAuth implements SIWEInterface, SRPInterface {\n #type: AuthType;\n\n #env: Env;\n\n #sdk: SIWEJwtBearerAuth | SRPJwtBearerAuth;\n\n constructor(...args: JwtBearerAuthParams) {\n this.#type = args[0].type;\n this.#env = args[0].env;\n\n if (args[0].type === AuthType.SRP) {\n this.#sdk = new SRPJwtBearerAuth(args[0], args[1]);\n return;\n }\n\n if (args[0].type === AuthType.SiWE) {\n this.#sdk = new SIWEJwtBearerAuth(args[0], args[1]);\n return;\n }\n\n throw new UnsupportedAuthTypeError('unsupported auth type');\n }\n\n async getAccessToken(): Promise<string> {\n return await this.#sdk.getAccessToken();\n }\n\n async getUserProfile(): Promise<UserProfile> {\n return await this.#sdk.getUserProfile();\n }\n\n async getIdentifier(): Promise<string> {\n return await this.#sdk.getIdentifier();\n }\n\n async signMessage(message: string): Promise<string> {\n return await this.#sdk.signMessage(message);\n }\n\n async pairIdentifiers(pairing: Pair[]): Promise<void> {\n const profile = await this.getUserProfile();\n const n = await getNonce(profile.profileId, this.#env);\n\n const logins = await Promise.all(\n pairing.map(async (p) => {\n try {\n const raw = `metamask:${n.nonce}:${p.identifier}`;\n const sig = await p.signMessage(raw);\n return {\n signature: sig,\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 raw_message: raw,\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 encrypted_storage_key: p.encryptedStorageKey,\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 identifier_type: p.identifierType,\n };\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new PairError(\n `failed to sign pairing message: ${errorMessage}`,\n );\n }\n }),\n );\n\n const accessToken = await this.getAccessToken();\n await pairIdentifiers(n.nonce, logins, accessToken, this.#env);\n }\n\n prepare(signer: {\n address: string;\n chainId: number;\n signMessage: (message: string) => Promise<string>;\n domain: string;\n }): void {\n this.#assertSIWE(this.#type, this.#sdk);\n this.#sdk.prepare(signer);\n }\n\n #assertSIWE(\n type: AuthType,\n sdk: SIWEJwtBearerAuth | SRPJwtBearerAuth,\n ): asserts sdk is SIWEJwtBearerAuth {\n if (type === AuthType.SiWE) {\n return;\n }\n\n throw new UnsupportedAuthTypeError(\n 'This method is only available via SIWE auth type',\n );\n }\n}\n\nexport { SIWEJwtBearerAuth } from './authentication-jwt-bearer/flow-siwe';\nexport { SRPJwtBearerAuth } from './authentication-jwt-bearer/flow-srp';\nexport * from './authentication-jwt-bearer/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAsBO,IAAM,gBAAN,MAA2D;AAAA,EAOhE,eAAe,MAA2B;AA+E1C;AArFA;AAEA;AAEA;AAGE,uBAAK,OAAQ,KAAK,CAAC,EAAE;AACrB,uBAAK,MAAO,KAAK,CAAC,EAAE;AAEpB,QAAI,KAAK,CAAC,EAAE,0BAAuB;AACjC,yBAAK,MAAO,IAAI,iBAAiB,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AACjD;AAAA,IACF;AAEA,QAAI,KAAK,CAAC,EAAE,4BAAwB;AAClC,yBAAK,MAAO,IAAI,kBAAkB,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAClD;AAAA,IACF;AAEA,UAAM,IAAI,yBAAyB,uBAAuB;AAAA,EAC5D;AAAA,EAEA,MAAM,iBAAkC;AACtC,WAAO,MAAM,mBAAK,MAAK,eAAe;AAAA,EACxC;AAAA,EAEA,MAAM,iBAAuC;AAC3C,WAAO,MAAM,mBAAK,MAAK,eAAe;AAAA,EACxC;AAAA,EAEA,MAAM,gBAAiC;AACrC,WAAO,MAAM,mBAAK,MAAK,cAAc;AAAA,EACvC;AAAA,EAEA,MAAM,YAAY,SAAkC;AAClD,WAAO,MAAM,mBAAK,MAAK,YAAY,OAAO;AAAA,EAC5C;AAAA,EAEA,MAAM,gBAAgB,SAAgC;AACpD,UAAM,UAAU,MAAM,KAAK,eAAe;AAC1C,UAAM,IAAI,MAAM,SAAS,QAAQ,WAAW,mBAAK,KAAI;AAErD,UAAM,SAAS,MAAM,QAAQ;AAAA,MAC3B,QAAQ,IAAI,OAAO,MAAM;AACvB,YAAI;AACF,gBAAM,MAAM,YAAY,EAAE,KAAK,IAAI,EAAE,UAAU;AAC/C,gBAAM,MAAM,MAAM,EAAE,YAAY,GAAG;AACnC,iBAAO;AAAA,YACL,WAAW;AAAA;AAAA;AAAA,YAGX,aAAa;AAAA;AAAA;AAAA,YAGb,uBAAuB,EAAE;AAAA;AAAA;AAAA,YAGzB,iBAAiB,EAAE;AAAA,UACrB;AAAA,QACF,SAAS,GAAG;AAEV,gBAAM,eACJ,aAAa,QAAQ,EAAE,UAAU,KAAK,UAAU,KAAK,EAAE;AACzD,gBAAM,IAAI;AAAA,YACR,mCAAmC,YAAY;AAAA,UACjD;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAEA,UAAM,cAAc,MAAM,KAAK,eAAe;AAC9C,UAAM,gBAAgB,EAAE,OAAO,QAAQ,aAAa,mBAAK,KAAI;AAAA,EAC/D;AAAA,EAEA,QAAQ,QAKC;AACP,0BAAK,4BAAL,WAAiB,mBAAK,QAAO,mBAAK;AAClC,uBAAK,MAAK,QAAQ,MAAM;AAAA,EAC1B;AAcF;AAjGE;AAEA;AAEA;AAiFA;AAAA,gBAAW,SACT,MACA,KACkC;AAClC,MAAI,4BAAwB;AAC1B;AAAA,EACF;AAEA,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// 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
+
72
+
73
+
74
+
75
+
76
+ exports.Env = Env; exports.Platform = Platform; exports.getEnvUrls = getEnvUrls; exports.getOidcClientId = getOidcClientId;
77
+ //# sourceMappingURL=chunk-4OMJ7A6A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/env.ts"],"names":["Env","Platform"],"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","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"]}
@@ -0,0 +1,30 @@
1
+ // src/controllers/authentication/auth-snap-requests.ts
2
+ import { HandlerType } from "@metamask/snaps-utils";
3
+ var snapId = "npm:@metamask/message-signing-snap";
4
+ function createSnapPublicKeyRequest() {
5
+ return {
6
+ snapId,
7
+ origin: "",
8
+ handler: HandlerType.OnRpcRequest,
9
+ request: {
10
+ method: "getPublicKey"
11
+ }
12
+ };
13
+ }
14
+ function createSnapSignMessageRequest(message) {
15
+ return {
16
+ snapId,
17
+ origin: "",
18
+ handler: HandlerType.OnRpcRequest,
19
+ request: {
20
+ method: "signMessage",
21
+ params: { message }
22
+ }
23
+ };
24
+ }
25
+
26
+ export {
27
+ createSnapPublicKeyRequest,
28
+ createSnapSignMessageRequest
29
+ };
30
+ //# sourceMappingURL=chunk-6P6CUKKI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/authentication/auth-snap-requests.ts"],"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"],"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;","names":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkNRH6O4QZjs = require('./chunk-NRH6O4QZ.js');
5
+ var _chunkXUPRRLBIjs = require('./chunk-XUPRRLBI.js');
6
6
 
7
7
 
8
8
  var _chunkRG4II6WHjs = require('./chunk-RG4II6WH.js');
@@ -11,33 +11,30 @@ var _chunkRG4II6WHjs = require('./chunk-RG4II6WH.js');
11
11
  var _chunkPQ5T4GHYjs = require('./chunk-PQ5T4GHY.js');
12
12
 
13
13
 
14
- var _chunkGQLHSQGZjs = require('./chunk-GQLHSQGZ.js');
14
+ var _chunkMBTBE4P5js = require('./chunk-MBTBE4P5.js');
15
15
 
16
16
 
17
- var _chunkBARZBXO7js = require('./chunk-BARZBXO7.js');
18
17
 
19
18
 
20
19
 
21
-
22
-
23
- var _chunkZ4BLTVTBjs = require('./chunk-Z4BLTVTB.js');
20
+ var _chunkV46WVGWNjs = require('./chunk-V46WVGWN.js');
24
21
 
25
22
  // src/sdk/authentication-jwt-bearer/flow-srp.ts
26
23
  var defaultEIP6963SigningOptions = {
27
24
  getIdentifier: async () => {
28
25
  const provider = await _chunkRG4II6WHjs.getMetaMaskProviderEIP6963.call(void 0, );
29
26
  if (!provider) {
30
- throw new (0, _chunkGQLHSQGZjs.ValidationError)("No MetaMask wallet connected");
27
+ throw new (0, _chunkMBTBE4P5js.ValidationError)("No MetaMask wallet connected");
31
28
  }
32
29
  return await _chunkPQ5T4GHYjs.MESSAGE_SIGNING_SNAP.getPublicKey(provider);
33
30
  },
34
31
  signMessage: async (message) => {
35
32
  const provider = await _chunkRG4II6WHjs.getMetaMaskProviderEIP6963.call(void 0, );
36
33
  if (!provider) {
37
- throw new (0, _chunkGQLHSQGZjs.ValidationError)("No MetaMask wallet connected");
34
+ throw new (0, _chunkMBTBE4P5js.ValidationError)("No MetaMask wallet connected");
38
35
  }
39
36
  if (!message.startsWith("metamask:")) {
40
- throw new (0, _chunkGQLHSQGZjs.ValidationError)('message must start with "metamask:"');
37
+ throw new (0, _chunkMBTBE4P5js.ValidationError)('message must start with "metamask:"');
41
38
  }
42
39
  const formattedMessage = message;
43
40
  return await _chunkPQ5T4GHYjs.MESSAGE_SIGNING_SNAP.signMessage(provider, formattedMessage);
@@ -46,51 +43,53 @@ var defaultEIP6963SigningOptions = {
46
43
  var _config, _options, _getAuthSession, getAuthSession_fn, _login, login_fn, _createSrpLoginRawMessage, createSrpLoginRawMessage_fn;
47
44
  var SRPJwtBearerAuth = class {
48
45
  constructor(config, options) {
49
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _getAuthSession);
50
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _login);
51
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _createSrpLoginRawMessage);
52
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _config, void 0);
53
- _chunkZ4BLTVTBjs.__privateAdd.call(void 0, this, _options, void 0);
54
- _chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _config, config);
55
- _chunkZ4BLTVTBjs.__privateSet.call(void 0, this, _options, {
46
+ // convert expiresIn from seconds to milliseconds and use 90% of expiresIn
47
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _getAuthSession);
48
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _login);
49
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _createSrpLoginRawMessage);
50
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _config, void 0);
51
+ _chunkV46WVGWNjs.__privateAdd.call(void 0, this, _options, void 0);
52
+ _chunkV46WVGWNjs.__privateSet.call(void 0, this, _config, config);
53
+ _chunkV46WVGWNjs.__privateSet.call(void 0, this, _options, {
56
54
  storage: options.storage,
57
55
  signing: options.signing ?? defaultEIP6963SigningOptions
58
56
  });
59
57
  }
60
58
  async getAccessToken() {
61
- const session = await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
59
+ const session = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
62
60
  if (session) {
63
61
  return session.token.accessToken;
64
62
  }
65
- const loginResponse = await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
63
+ const loginResponse = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
66
64
  return loginResponse.token.accessToken;
67
65
  }
68
66
  async getUserProfile() {
69
- const session = await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
67
+ const session = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _getAuthSession, getAuthSession_fn).call(this);
70
68
  if (session) {
71
69
  return session.profile;
72
70
  }
73
- const loginResponse = await _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
71
+ const loginResponse = await _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _login, login_fn).call(this);
74
72
  return loginResponse.profile;
75
73
  }
76
74
  async getIdentifier() {
77
- return await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
75
+ return await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
78
76
  }
79
77
  async signMessage(message) {
80
- return await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _options).signing.signMessage(message);
78
+ return await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.signMessage(message);
81
79
  }
82
80
  };
83
81
  _config = new WeakMap();
84
82
  _options = new WeakMap();
85
83
  _getAuthSession = new WeakSet();
86
84
  getAuthSession_fn = async function() {
87
- const auth = await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _options).storage.getLoginResponse();
85
+ const auth = await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).storage.getLoginResponse();
88
86
  if (!auth) {
89
87
  return null;
90
88
  }
91
89
  const currentTime = Date.now();
92
90
  const sessionAge = currentTime - auth.token.obtainedAt;
93
- if (sessionAge < _chunkBARZBXO7js.SESSION_LIFETIME_MS) {
91
+ const refreshThreshold = auth.token.expiresIn * 1e3 * 0.9;
92
+ if (sessionAge < refreshThreshold) {
94
93
  return auth;
95
94
  }
96
95
  return null;
@@ -98,25 +97,26 @@ getAuthSession_fn = async function() {
98
97
  _login = new WeakSet();
99
98
  login_fn = async function() {
100
99
  const address = await this.getIdentifier();
101
- const nonceRes = await _chunkNRH6O4QZjs.getNonce.call(void 0, address, _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _config).env);
102
- const publicKey = await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
103
- const rawMessage = _chunkZ4BLTVTBjs.__privateMethod.call(void 0, this, _createSrpLoginRawMessage, createSrpLoginRawMessage_fn).call(this, nonceRes.nonce, publicKey);
100
+ const nonceRes = await _chunkXUPRRLBIjs.getNonce.call(void 0, address, _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env);
101
+ const publicKey = await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).signing.getIdentifier();
102
+ const rawMessage = _chunkV46WVGWNjs.__privateMethod.call(void 0, this, _createSrpLoginRawMessage, createSrpLoginRawMessage_fn).call(this, nonceRes.nonce, publicKey);
104
103
  const signature = await this.signMessage(rawMessage);
105
- const authResponse = await _chunkNRH6O4QZjs.authenticate.call(void 0,
104
+ const authResponse = await _chunkXUPRRLBIjs.authenticate.call(void 0,
106
105
  rawMessage,
107
106
  signature,
108
- _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _config).type,
109
- _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _config).env
107
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).type,
108
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env
110
109
  );
111
- const tokenResponse = await _chunkNRH6O4QZjs.authorizeOIDC.call(void 0,
110
+ const tokenResponse = await _chunkXUPRRLBIjs.authorizeOIDC.call(void 0,
112
111
  authResponse.token,
113
- _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _config).env
112
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).env,
113
+ _chunkV46WVGWNjs.__privateGet.call(void 0, this, _config).platform
114
114
  );
115
115
  const result = {
116
116
  profile: authResponse.profile,
117
117
  token: tokenResponse
118
118
  };
119
- await _chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _options).storage.setLoginResponse(result);
119
+ await _chunkV46WVGWNjs.__privateGet.call(void 0, this, _options).storage.setLoginResponse(result);
120
120
  return result;
121
121
  };
122
122
  _createSrpLoginRawMessage = new WeakSet();
@@ -127,4 +127,4 @@ createSrpLoginRawMessage_fn = function(nonce, publicKey) {
127
127
 
128
128
 
129
129
  exports.SRPJwtBearerAuth = SRPJwtBearerAuth;
130
- //# sourceMappingURL=chunk-OF3TQWGX.js.map
130
+ //# sourceMappingURL=chunk-6TK7544L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdk/authentication-jwt-bearer/flow-srp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,IAAM,+BAAmD;AAAA,EACvD,eAAe,YAA6B;AAC1C,UAAM,WAAW,MAAM,2BAA2B;AAClD,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,gBAAgB,8BAA8B;AAAA,IAC1D;AACA,WAAO,MAAM,qBAAqB,aAAa,QAAQ;AAAA,EACzD;AAAA,EACA,aAAa,OAAO,YAAqC;AACvD,UAAM,WAAW,MAAM,2BAA2B;AAClD,QAAI,CAAC,UAAU;AACb,YAAM,IAAI,gBAAgB,8BAA8B;AAAA,IAC1D;AACA,QAAI,CAAC,QAAQ,WAAW,WAAW,GAAG;AACpC,YAAM,IAAI,gBAAgB,qCAAqC;AAAA,IACjE;AACA,UAAM,mBAAmB;AACzB,WAAO,MAAM,qBAAqB,YAAY,UAAU,gBAAgB;AAAA,EAC1E;AACF;AAxCA;AA0CO,IAAM,mBAAN,MAA4C;AAAA,EAKjD,YACE,QACA,SACA;AAqCF;AAAA,uBAAM;AAgBN,uBAAM;AAqCN;AAjGA;AAEA;AAME,uBAAK,SAAU;AACf,uBAAK,UAAW;AAAA,MACd,SAAS,QAAQ;AAAA,MACjB,SAAS,QAAQ,WAAW;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,iBAAkC;AACtC,UAAM,UAAU,MAAM,sBAAK,oCAAL;AACtB,QAAI,SAAS;AACX,aAAO,QAAQ,MAAM;AAAA,IACvB;AAEA,UAAM,gBAAgB,MAAM,sBAAK,kBAAL;AAC5B,WAAO,cAAc,MAAM;AAAA,EAC7B;AAAA,EAEA,MAAM,iBAAuC;AAC3C,UAAM,UAAU,MAAM,sBAAK,oCAAL;AACtB,QAAI,SAAS;AACX,aAAO,QAAQ;AAAA,IACjB;AAEA,UAAM,gBAAgB,MAAM,sBAAK,kBAAL;AAC5B,WAAO,cAAc;AAAA,EACvB;AAAA,EAEA,MAAM,gBAAiC;AACrC,WAAO,MAAM,mBAAK,UAAS,QAAQ,cAAc;AAAA,EACnD;AAAA,EAEA,MAAM,YAAY,SAAkC;AAClD,WAAO,MAAM,mBAAK,UAAS,QAAQ,YAAY,OAAO;AAAA,EACxD;AA8DF;AAvGE;AAEA;AA0CM;AAAA,oBAAe,iBAAkC;AACrD,QAAM,OAAO,MAAM,mBAAK,UAAS,QAAQ,iBAAiB;AAC1D,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,KAAK,IAAI;AAC7B,QAAM,aAAa,cAAc,KAAK,MAAM;AAC5C,QAAM,mBAAmB,KAAK,MAAM,YAAY,MAAO;AAEvD,MAAI,aAAa,kBAAkB;AACjC,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEM;AAAA,WAAM,iBAA2B;AAErC,QAAM,UAAU,MAAM,KAAK,cAAc;AACzC,QAAM,WAAW,MAAM,SAAS,SAAS,mBAAK,SAAQ,GAAG;AACzD,QAAM,YAAY,MAAM,mBAAK,UAAS,QAAQ,cAAc;AAC5D,QAAM,aAAa,sBAAK,wDAAL,WACjB,SAAS,OACT;AAEF,QAAM,YAAY,MAAM,KAAK,YAAY,UAAU;AAGnD,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,IACA;AAAA,IACA,mBAAK,SAAQ;AAAA,IACb,mBAAK,SAAQ;AAAA,EACf;AAGA,QAAM,gBAAgB,MAAM;AAAA,IAC1B,aAAa;AAAA,IACb,mBAAK,SAAQ;AAAA,IACb,mBAAK,SAAQ;AAAA,EACf;AAGA,QAAM,SAAwB;AAAA,IAC5B,SAAS,aAAa;AAAA,IACtB,OAAO;AAAA,EACT;AAEA,QAAM,mBAAK,UAAS,QAAQ,iBAAiB,MAAM;AAEnD,SAAO;AACT;AAEA;AAAA,8BAAyB,SACvB,OACA,WACgC;AAChC,SAAO,YAAY,KAAK,IAAI,SAAS;AACvC","sourcesContent":["import { ValidationError } from '../errors';\nimport { getMetaMaskProviderEIP6963 } from '../utils/eip-6963-metamask-provider';\nimport { MESSAGE_SIGNING_SNAP } from '../utils/messaging-signing-snap-requests';\nimport { authenticate, authorizeOIDC, getNonce } from './services';\nimport type {\n AuthConfig,\n AuthSigningOptions,\n AuthStorageOptions,\n AuthType,\n IBaseAuth,\n LoginResponse,\n UserProfile,\n} from './types';\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\ntype JwtBearerAuth_SRP_Options = {\n storage: AuthStorageOptions;\n signing?: AuthSigningOptions;\n};\n\nconst defaultEIP6963SigningOptions: AuthSigningOptions = {\n getIdentifier: async (): Promise<string> => {\n const provider = await getMetaMaskProviderEIP6963();\n if (!provider) {\n throw new ValidationError('No MetaMask wallet connected');\n }\n return await MESSAGE_SIGNING_SNAP.getPublicKey(provider);\n },\n signMessage: async (message: string): Promise<string> => {\n const provider = await getMetaMaskProviderEIP6963();\n if (!provider) {\n throw new ValidationError('No MetaMask wallet connected');\n }\n if (!message.startsWith('metamask:')) {\n throw new ValidationError('message must start with \"metamask:\"');\n }\n const formattedMessage = message as `metamask:${string}`;\n return await MESSAGE_SIGNING_SNAP.signMessage(provider, formattedMessage);\n },\n};\n\nexport class SRPJwtBearerAuth implements IBaseAuth {\n #config: AuthConfig;\n\n #options: Required<JwtBearerAuth_SRP_Options>;\n\n constructor(\n config: AuthConfig & { type: AuthType.SRP },\n options: JwtBearerAuth_SRP_Options,\n ) {\n this.#config = config;\n this.#options = {\n storage: options.storage,\n signing: options.signing ?? defaultEIP6963SigningOptions,\n };\n }\n\n async getAccessToken(): Promise<string> {\n const session = await this.#getAuthSession();\n if (session) {\n return session.token.accessToken;\n }\n\n const loginResponse = await this.#login();\n return loginResponse.token.accessToken;\n }\n\n async getUserProfile(): Promise<UserProfile> {\n const session = await this.#getAuthSession();\n if (session) {\n return session.profile;\n }\n\n const loginResponse = await this.#login();\n return loginResponse.profile;\n }\n\n async getIdentifier(): Promise<string> {\n return await this.#options.signing.getIdentifier();\n }\n\n async signMessage(message: string): Promise<string> {\n return await this.#options.signing.signMessage(message);\n }\n\n // convert expiresIn from seconds to milliseconds and use 90% of expiresIn\n async #getAuthSession(): Promise<LoginResponse | null> {\n const auth = await this.#options.storage.getLoginResponse();\n if (!auth) {\n return null;\n }\n\n const currentTime = Date.now();\n const sessionAge = currentTime - auth.token.obtainedAt;\n const refreshThreshold = auth.token.expiresIn * 1000 * 0.9;\n\n if (sessionAge < refreshThreshold) {\n return auth;\n }\n return null;\n }\n\n async #login(): Promise<LoginResponse> {\n // Nonce\n const address = await this.getIdentifier();\n const nonceRes = await getNonce(address, this.#config.env);\n const publicKey = await this.#options.signing.getIdentifier();\n const rawMessage = this.#createSrpLoginRawMessage(\n nonceRes.nonce,\n publicKey,\n );\n const signature = await this.signMessage(rawMessage);\n\n // Authenticate\n const authResponse = await authenticate(\n rawMessage,\n signature,\n this.#config.type,\n this.#config.env,\n );\n\n // Authorize\n const tokenResponse = await authorizeOIDC(\n authResponse.token,\n this.#config.env,\n this.#config.platform,\n );\n\n // Save\n const result: LoginResponse = {\n profile: authResponse.profile,\n token: tokenResponse,\n };\n\n await this.#options.storage.setLoginResponse(result);\n\n return result;\n }\n\n #createSrpLoginRawMessage(\n nonce: string,\n publicKey: string,\n ): `metamask:${string}:${string}` {\n return `metamask:${nonce}:${publicKey}` as const;\n }\n}\n"]}
@@ -0,0 +1,18 @@
1
+ // src/controllers/user-storage/encryption/utils.ts
2
+ var byteArrayToBase64 = (byteArray) => {
3
+ return Buffer.from(byteArray).toString("base64");
4
+ };
5
+ var base64ToByteArray = (base64) => {
6
+ return new Uint8Array(Buffer.from(base64, "base64"));
7
+ };
8
+ var bytesToUtf8 = (byteArray) => {
9
+ const decoder = new TextDecoder("utf-8");
10
+ return decoder.decode(byteArray);
11
+ };
12
+
13
+ export {
14
+ byteArrayToBase64,
15
+ base64ToByteArray,
16
+ bytesToUtf8
17
+ };
18
+ //# sourceMappingURL=chunk-76VRE4BI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/controllers/user-storage/encryption/utils.ts"],"sourcesContent":["export const byteArrayToBase64 = (byteArray: Uint8Array) => {\n return Buffer.from(byteArray).toString('base64');\n};\n\nexport const base64ToByteArray = (base64: string) => {\n return new Uint8Array(Buffer.from(base64, 'base64'));\n};\n\nexport const bytesToUtf8 = (byteArray: Uint8Array) => {\n const decoder = new TextDecoder('utf-8');\n return decoder.decode(byteArray);\n};\n"],"mappings":";AAAO,IAAM,oBAAoB,CAAC,cAA0B;AAC1D,SAAO,OAAO,KAAK,SAAS,EAAE,SAAS,QAAQ;AACjD;AAEO,IAAM,oBAAoB,CAAC,WAAmB;AACnD,SAAO,IAAI,WAAW,OAAO,KAAK,QAAQ,QAAQ,CAAC;AACrD;AAEO,IAAM,cAAc,CAAC,cAA0B;AACpD,QAAM,UAAU,IAAI,YAAY,OAAO;AACvC,SAAO,QAAQ,OAAO,SAAS;AACjC;","names":[]}