@metamask/profile-sync-controller 0.5.0 → 0.7.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 (611) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/auth/mocks/package.json +2 -2
  3. package/auth/package.json +2 -2
  4. package/dist/controllers/authentication/AuthenticationController.cjs +211 -0
  5. package/dist/controllers/authentication/AuthenticationController.cjs.map +1 -0
  6. package/dist/{types/controllers/authentication/AuthenticationController.d.ts → controllers/authentication/AuthenticationController.d.cts} +5 -5
  7. package/dist/controllers/authentication/AuthenticationController.d.cts.map +1 -0
  8. package/dist/controllers/authentication/AuthenticationController.d.mts +78 -0
  9. package/dist/controllers/authentication/AuthenticationController.d.mts.map +1 -0
  10. package/dist/controllers/authentication/AuthenticationController.mjs +206 -11
  11. package/dist/controllers/authentication/AuthenticationController.mjs.map +1 -1
  12. package/dist/controllers/authentication/__fixtures__/index.cjs +18 -0
  13. package/dist/controllers/authentication/__fixtures__/index.cjs.map +1 -0
  14. package/dist/controllers/authentication/__fixtures__/index.d.cts +2 -0
  15. package/dist/controllers/authentication/__fixtures__/index.d.cts.map +1 -0
  16. package/dist/controllers/authentication/__fixtures__/index.d.mts +2 -0
  17. package/dist/controllers/authentication/__fixtures__/index.d.mts.map +1 -0
  18. package/dist/controllers/authentication/__fixtures__/index.mjs +2 -0
  19. package/dist/controllers/authentication/__fixtures__/index.mjs.map +1 -0
  20. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs +52 -0
  21. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs.map +1 -0
  22. package/dist/{types/controllers/authentication/__fixtures__/mockResponses.d.ts → controllers/authentication/__fixtures__/mockResponses.d.cts} +2 -2
  23. package/dist/controllers/authentication/__fixtures__/mockResponses.d.cts.map +1 -0
  24. package/dist/controllers/authentication/__fixtures__/mockResponses.d.mts +23 -0
  25. package/dist/controllers/authentication/__fixtures__/mockResponses.d.mts.map +1 -0
  26. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs +46 -0
  27. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs.map +1 -0
  28. package/dist/controllers/authentication/__fixtures__/mockServices.cjs +37 -0
  29. package/dist/controllers/authentication/__fixtures__/mockServices.cjs.map +1 -0
  30. package/dist/{types/controllers/authentication/__fixtures__/mockServices.d.ts → controllers/authentication/__fixtures__/mockServices.d.cts} +2 -2
  31. package/dist/controllers/authentication/__fixtures__/mockServices.d.cts.map +1 -0
  32. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts +10 -0
  33. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts.map +1 -0
  34. package/dist/controllers/authentication/__fixtures__/mockServices.mjs +35 -0
  35. package/dist/controllers/authentication/__fixtures__/mockServices.mjs.map +1 -0
  36. package/dist/controllers/authentication/auth-snap-requests.cjs +39 -0
  37. package/dist/controllers/authentication/auth-snap-requests.cjs.map +1 -0
  38. package/dist/{types/controllers/authentication/auth-snap-requests.d.ts → controllers/authentication/auth-snap-requests.d.cts} +2 -2
  39. package/dist/controllers/authentication/auth-snap-requests.d.cts.map +1 -0
  40. package/dist/controllers/authentication/auth-snap-requests.d.mts +17 -0
  41. package/dist/controllers/authentication/auth-snap-requests.d.mts.map +1 -0
  42. package/dist/controllers/authentication/auth-snap-requests.mjs +33 -9
  43. package/dist/controllers/authentication/auth-snap-requests.mjs.map +1 -1
  44. package/dist/controllers/authentication/index.cjs +39 -0
  45. package/dist/controllers/authentication/index.cjs.map +1 -0
  46. package/dist/controllers/authentication/index.d.cts +7 -0
  47. package/dist/controllers/authentication/index.d.cts.map +1 -0
  48. package/dist/controllers/authentication/index.d.mts +7 -0
  49. package/dist/controllers/authentication/index.d.mts.map +1 -0
  50. package/dist/controllers/authentication/index.mjs +6 -18
  51. package/dist/controllers/authentication/index.mjs.map +1 -1
  52. package/dist/controllers/authentication/services.cjs +127 -0
  53. package/dist/controllers/authentication/services.cjs.map +1 -0
  54. package/dist/{types/controllers/authentication/services.d.ts → controllers/authentication/services.d.cts} +1 -1
  55. package/dist/controllers/authentication/services.d.cts.map +1 -0
  56. package/dist/controllers/authentication/services.d.mts +70 -0
  57. package/dist/controllers/authentication/services.d.mts.map +1 -0
  58. package/dist/controllers/authentication/services.mjs +118 -19
  59. package/dist/controllers/authentication/services.mjs.map +1 -1
  60. package/dist/controllers/index.cjs +29 -0
  61. package/dist/controllers/index.cjs.map +1 -0
  62. package/dist/controllers/index.d.cts +3 -0
  63. package/dist/controllers/index.d.cts.map +1 -0
  64. package/dist/controllers/index.d.mts +3 -0
  65. package/dist/controllers/index.d.mts.map +1 -0
  66. package/dist/controllers/index.mjs +2 -24
  67. package/dist/controllers/index.mjs.map +1 -1
  68. package/dist/controllers/user-storage/UserStorageController.cjs +462 -0
  69. package/dist/controllers/user-storage/UserStorageController.cjs.map +1 -0
  70. package/dist/{types/controllers/user-storage/UserStorageController.d.ts → controllers/user-storage/UserStorageController.d.cts} +44 -15
  71. package/dist/controllers/user-storage/UserStorageController.d.cts.map +1 -0
  72. package/dist/controllers/user-storage/UserStorageController.d.mts +156 -0
  73. package/dist/controllers/user-storage/UserStorageController.d.mts.map +1 -0
  74. package/dist/controllers/user-storage/UserStorageController.mjs +457 -18
  75. package/dist/controllers/user-storage/UserStorageController.mjs.map +1 -1
  76. package/dist/controllers/user-storage/__fixtures__/index.cjs +19 -0
  77. package/dist/controllers/user-storage/__fixtures__/index.cjs.map +1 -0
  78. package/dist/controllers/user-storage/__fixtures__/index.d.cts +3 -0
  79. package/dist/controllers/user-storage/__fixtures__/index.d.cts.map +1 -0
  80. package/dist/controllers/user-storage/__fixtures__/index.d.mts +3 -0
  81. package/dist/controllers/user-storage/__fixtures__/index.d.mts.map +1 -0
  82. package/dist/controllers/user-storage/__fixtures__/index.mjs +3 -0
  83. package/dist/controllers/user-storage/__fixtures__/index.mjs.map +1 -0
  84. package/dist/controllers/user-storage/__fixtures__/mockAccounts.cjs +127 -0
  85. package/dist/controllers/user-storage/__fixtures__/mockAccounts.cjs.map +1 -0
  86. package/dist/{types/controllers/user-storage/__fixtures__/mockAccounts.d.ts → controllers/user-storage/__fixtures__/mockAccounts.d.cts} +6 -6
  87. package/dist/controllers/user-storage/__fixtures__/mockAccounts.d.cts.map +1 -0
  88. package/dist/controllers/user-storage/__fixtures__/mockAccounts.d.mts +63 -0
  89. package/dist/controllers/user-storage/__fixtures__/mockAccounts.d.mts.map +1 -0
  90. package/dist/controllers/user-storage/__fixtures__/mockAccounts.mjs +123 -0
  91. package/dist/controllers/user-storage/__fixtures__/mockAccounts.mjs.map +1 -0
  92. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs +48 -0
  93. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs.map +1 -0
  94. package/dist/{types/controllers/user-storage/__fixtures__/mockResponses.d.ts → controllers/user-storage/__fixtures__/mockResponses.d.cts} +6 -4
  95. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.cts.map +1 -0
  96. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts +21 -0
  97. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts.map +1 -0
  98. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs +39 -0
  99. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs.map +1 -0
  100. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs +41 -0
  101. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs.map +1 -0
  102. package/dist/{types/controllers/user-storage/__fixtures__/mockServices.d.ts → controllers/user-storage/__fixtures__/mockServices.d.cts} +3 -3
  103. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts.map +1 -0
  104. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts +11 -0
  105. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts.map +1 -0
  106. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs +39 -0
  107. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs.map +1 -0
  108. package/dist/controllers/user-storage/__fixtures__/mockStorage.cjs +36 -0
  109. package/dist/controllers/user-storage/__fixtures__/mockStorage.cjs.map +1 -0
  110. package/dist/{types/controllers/user-storage/__fixtures__/mockStorage.d.ts → controllers/user-storage/__fixtures__/mockStorage.d.cts} +2 -2
  111. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.cts.map +1 -0
  112. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.mts +5 -0
  113. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.mts.map +1 -0
  114. package/dist/controllers/user-storage/__fixtures__/mockStorage.mjs +9 -0
  115. package/dist/controllers/user-storage/__fixtures__/mockStorage.mjs.map +1 -0
  116. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs +31 -0
  117. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs.map +1 -0
  118. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts +14 -0
  119. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts.map +1 -0
  120. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts +14 -0
  121. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts.map +1 -0
  122. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs +27 -0
  123. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs.map +1 -0
  124. package/dist/controllers/user-storage/accounts/constants.cjs +51 -0
  125. package/dist/controllers/user-storage/accounts/constants.cjs.map +1 -0
  126. package/dist/{types/controllers/user-storage/accounts/constants.d.ts → controllers/user-storage/accounts/constants.d.cts} +1 -1
  127. package/dist/controllers/user-storage/accounts/constants.d.cts.map +1 -0
  128. package/dist/controllers/user-storage/accounts/constants.d.mts +4 -0
  129. package/dist/controllers/user-storage/accounts/constants.d.mts.map +1 -0
  130. package/dist/controllers/user-storage/accounts/constants.mjs +47 -11
  131. package/dist/controllers/user-storage/accounts/constants.mjs.map +1 -1
  132. package/dist/controllers/user-storage/accounts/user-storage.cjs +34 -0
  133. package/dist/controllers/user-storage/accounts/user-storage.cjs.map +1 -0
  134. package/dist/{types/controllers/user-storage/accounts/user-storage.d.ts → controllers/user-storage/accounts/user-storage.d.cts} +3 -3
  135. package/dist/controllers/user-storage/accounts/user-storage.d.cts.map +1 -0
  136. package/dist/controllers/user-storage/accounts/user-storage.d.mts +32 -0
  137. package/dist/controllers/user-storage/accounts/user-storage.d.mts.map +1 -0
  138. package/dist/controllers/user-storage/accounts/user-storage.mjs +27 -9
  139. package/dist/controllers/user-storage/accounts/user-storage.mjs.map +1 -1
  140. package/dist/controllers/user-storage/encryption/cache.cjs +79 -0
  141. package/dist/controllers/user-storage/encryption/cache.cjs.map +1 -0
  142. package/dist/{types/controllers/user-storage/encryption/cache.d.ts → controllers/user-storage/encryption/cache.d.cts} +1 -1
  143. package/dist/controllers/user-storage/encryption/cache.d.cts.map +1 -0
  144. package/dist/controllers/user-storage/encryption/cache.d.mts +31 -0
  145. package/dist/controllers/user-storage/encryption/cache.d.mts.map +1 -0
  146. package/dist/controllers/user-storage/encryption/cache.mjs +71 -11
  147. package/dist/controllers/user-storage/encryption/cache.mjs.map +1 -1
  148. package/dist/controllers/user-storage/encryption/encryption.cjs +151 -0
  149. package/dist/controllers/user-storage/encryption/encryption.cjs.map +1 -0
  150. package/dist/{types/controllers/user-storage/encryption/encryption.d.ts → controllers/user-storage/encryption/encryption.d.cts} +2 -2
  151. package/dist/controllers/user-storage/encryption/encryption.d.cts.map +1 -0
  152. package/dist/controllers/user-storage/encryption/encryption.d.mts +27 -0
  153. package/dist/controllers/user-storage/encryption/encryption.d.mts.map +1 -0
  154. package/dist/controllers/user-storage/encryption/encryption.mjs +145 -10
  155. package/dist/controllers/user-storage/encryption/encryption.mjs.map +1 -1
  156. package/dist/controllers/user-storage/encryption/index.cjs +25 -0
  157. package/dist/controllers/user-storage/encryption/index.cjs.map +1 -0
  158. package/dist/controllers/user-storage/encryption/index.d.cts +5 -0
  159. package/dist/controllers/user-storage/encryption/index.d.cts.map +1 -0
  160. package/dist/controllers/user-storage/encryption/index.d.mts +5 -0
  161. package/dist/controllers/user-storage/encryption/index.d.mts.map +1 -0
  162. package/dist/controllers/user-storage/encryption/index.mjs +4 -15
  163. package/dist/controllers/user-storage/encryption/index.mjs.map +1 -1
  164. package/dist/controllers/user-storage/encryption/utils.cjs +17 -0
  165. package/dist/controllers/user-storage/encryption/utils.cjs.map +1 -0
  166. package/dist/{types/controllers/user-storage/encryption/utils.d.ts → controllers/user-storage/encryption/utils.d.cts} +1 -1
  167. package/dist/controllers/user-storage/encryption/utils.d.cts.map +1 -0
  168. package/dist/controllers/user-storage/encryption/utils.d.mts +4 -0
  169. package/dist/controllers/user-storage/encryption/utils.d.mts.map +1 -0
  170. package/dist/controllers/user-storage/encryption/utils.mjs +9 -10
  171. package/dist/controllers/user-storage/encryption/utils.mjs.map +1 -1
  172. package/dist/controllers/user-storage/index.cjs +40 -0
  173. package/dist/controllers/user-storage/index.cjs.map +1 -0
  174. package/dist/controllers/user-storage/index.d.cts +8 -0
  175. package/dist/controllers/user-storage/index.d.cts.map +1 -0
  176. package/dist/controllers/user-storage/index.d.mts +8 -0
  177. package/dist/controllers/user-storage/index.d.mts.map +1 -0
  178. package/dist/controllers/user-storage/index.mjs +7 -30
  179. package/dist/controllers/user-storage/index.mjs.map +1 -1
  180. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs +25 -0
  181. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs.map +1 -0
  182. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts +4 -0
  183. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts.map +1 -0
  184. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts +4 -0
  185. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts.map +1 -0
  186. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs +20 -0
  187. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs.map +1 -0
  188. package/dist/controllers/user-storage/network-syncing/controller-integration.cjs +65 -0
  189. package/dist/controllers/user-storage/network-syncing/controller-integration.cjs.map +1 -0
  190. package/dist/controllers/user-storage/network-syncing/controller-integration.d.cts +13 -0
  191. package/dist/controllers/user-storage/network-syncing/controller-integration.d.cts.map +1 -0
  192. package/dist/controllers/user-storage/network-syncing/controller-integration.d.mts +13 -0
  193. package/dist/controllers/user-storage/network-syncing/controller-integration.d.mts.map +1 -0
  194. package/dist/controllers/user-storage/network-syncing/controller-integration.mjs +65 -0
  195. package/dist/controllers/user-storage/network-syncing/controller-integration.mjs.map +1 -0
  196. package/dist/controllers/user-storage/network-syncing/services.cjs +64 -0
  197. package/dist/controllers/user-storage/network-syncing/services.cjs.map +1 -0
  198. package/dist/controllers/user-storage/network-syncing/services.d.cts +21 -0
  199. package/dist/controllers/user-storage/network-syncing/services.d.cts.map +1 -0
  200. package/dist/controllers/user-storage/network-syncing/services.d.mts +21 -0
  201. package/dist/controllers/user-storage/network-syncing/services.d.mts.map +1 -0
  202. package/dist/controllers/user-storage/network-syncing/services.mjs +58 -0
  203. package/dist/controllers/user-storage/network-syncing/services.mjs.map +1 -0
  204. package/dist/controllers/user-storage/network-syncing/sync-all.cjs +171 -0
  205. package/dist/controllers/user-storage/network-syncing/sync-all.cjs.map +1 -0
  206. package/dist/controllers/user-storage/network-syncing/sync-all.d.cts +35 -0
  207. package/dist/controllers/user-storage/network-syncing/sync-all.d.cts.map +1 -0
  208. package/dist/controllers/user-storage/network-syncing/sync-all.d.mts +35 -0
  209. package/dist/controllers/user-storage/network-syncing/sync-all.d.mts.map +1 -0
  210. package/dist/controllers/user-storage/network-syncing/sync-all.mjs +162 -0
  211. package/dist/controllers/user-storage/network-syncing/sync-all.mjs.map +1 -0
  212. package/dist/controllers/user-storage/network-syncing/sync-mutations.cjs +28 -0
  213. package/dist/controllers/user-storage/network-syncing/sync-mutations.cjs.map +1 -0
  214. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.cts +9 -0
  215. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.cts.map +1 -0
  216. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.mts +9 -0
  217. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.mts.map +1 -0
  218. package/dist/controllers/user-storage/network-syncing/sync-mutations.mjs +22 -0
  219. package/dist/controllers/user-storage/network-syncing/sync-mutations.mjs.map +1 -0
  220. package/dist/controllers/user-storage/network-syncing/types.cjs +16 -0
  221. package/dist/controllers/user-storage/network-syncing/types.cjs.map +1 -0
  222. package/dist/controllers/user-storage/network-syncing/types.d.cts +18 -0
  223. package/dist/controllers/user-storage/network-syncing/types.d.cts.map +1 -0
  224. package/dist/controllers/user-storage/network-syncing/types.d.mts +18 -0
  225. package/dist/controllers/user-storage/network-syncing/types.d.mts.map +1 -0
  226. package/dist/controllers/user-storage/network-syncing/types.mjs +11 -0
  227. package/dist/controllers/user-storage/network-syncing/types.mjs.map +1 -0
  228. package/dist/controllers/user-storage/schema.cjs +56 -0
  229. package/dist/controllers/user-storage/schema.cjs.map +1 -0
  230. package/dist/{types/controllers/user-storage/schema.d.ts → controllers/user-storage/schema.d.cts} +2 -1
  231. package/dist/controllers/user-storage/schema.d.cts.map +1 -0
  232. package/dist/controllers/user-storage/schema.d.mts +38 -0
  233. package/dist/controllers/user-storage/schema.d.mts.map +1 -0
  234. package/dist/controllers/user-storage/schema.mjs +48 -16
  235. package/dist/controllers/user-storage/schema.mjs.map +1 -1
  236. package/dist/controllers/user-storage/services.cjs +119 -0
  237. package/dist/controllers/user-storage/services.cjs.map +1 -0
  238. package/dist/{types/controllers/user-storage/services.d.ts → controllers/user-storage/services.d.cts} +4 -5
  239. package/dist/controllers/user-storage/services.d.cts.map +1 -0
  240. package/dist/controllers/user-storage/services.d.mts +48 -0
  241. package/dist/controllers/user-storage/services.d.mts.map +1 -0
  242. package/dist/controllers/user-storage/services.mjs +116 -21
  243. package/dist/controllers/user-storage/services.mjs.map +1 -1
  244. package/dist/controllers/user-storage/utils.cjs +30 -0
  245. package/dist/controllers/user-storage/utils.cjs.map +1 -0
  246. package/dist/controllers/user-storage/utils.d.cts +17 -0
  247. package/dist/controllers/user-storage/utils.d.cts.map +1 -0
  248. package/dist/controllers/user-storage/utils.d.mts +17 -0
  249. package/dist/controllers/user-storage/utils.d.mts.map +1 -0
  250. package/dist/controllers/user-storage/utils.mjs +25 -0
  251. package/dist/controllers/user-storage/utils.mjs.map +1 -0
  252. package/dist/index.cjs +30 -0
  253. package/dist/index.cjs.map +1 -0
  254. package/dist/index.d.cts +4 -0
  255. package/dist/index.d.cts.map +1 -0
  256. package/dist/index.d.mts +4 -0
  257. package/dist/index.d.mts.map +1 -0
  258. package/dist/index.mjs +3 -39
  259. package/dist/index.mjs.map +1 -1
  260. package/dist/sdk/__fixtures__/mock-auth.cjs +139 -0
  261. package/dist/sdk/__fixtures__/mock-auth.cjs.map +1 -0
  262. package/dist/{types/sdk/__fixtures__/mock-auth.d.ts → sdk/__fixtures__/mock-auth.d.cts} +2 -2
  263. package/dist/sdk/__fixtures__/mock-auth.d.cts.map +1 -0
  264. package/dist/sdk/__fixtures__/mock-auth.d.mts +42 -0
  265. package/dist/sdk/__fixtures__/mock-auth.d.mts.map +1 -0
  266. package/dist/sdk/__fixtures__/mock-auth.mjs +134 -0
  267. package/dist/sdk/__fixtures__/mock-auth.mjs.map +1 -0
  268. package/dist/sdk/__fixtures__/mock-userstorage.cjs +58 -0
  269. package/dist/sdk/__fixtures__/mock-userstorage.cjs.map +1 -0
  270. package/dist/{types/sdk/__fixtures__/mock-userstorage.d.ts → sdk/__fixtures__/mock-userstorage.d.cts} +2 -2
  271. package/dist/sdk/__fixtures__/mock-userstorage.d.cts.map +1 -0
  272. package/dist/sdk/__fixtures__/mock-userstorage.d.mts +19 -0
  273. package/dist/sdk/__fixtures__/mock-userstorage.d.mts.map +1 -0
  274. package/dist/sdk/__fixtures__/mock-userstorage.mjs +54 -0
  275. package/dist/sdk/__fixtures__/mock-userstorage.mjs.map +1 -0
  276. package/dist/sdk/__fixtures__/test-utils.cjs +74 -0
  277. package/dist/sdk/__fixtures__/test-utils.cjs.map +1 -0
  278. package/dist/{types/sdk/__fixtures__/test-utils.d.ts → sdk/__fixtures__/test-utils.d.cts} +6 -6
  279. package/dist/sdk/__fixtures__/test-utils.d.cts.map +1 -0
  280. package/dist/sdk/__fixtures__/test-utils.d.mts +25 -0
  281. package/dist/sdk/__fixtures__/test-utils.d.mts.map +1 -0
  282. package/dist/sdk/__fixtures__/test-utils.mjs +69 -0
  283. package/dist/sdk/__fixtures__/test-utils.mjs.map +1 -0
  284. package/dist/sdk/authentication-jwt-bearer/flow-siwe.cjs +106 -0
  285. package/dist/sdk/authentication-jwt-bearer/flow-siwe.cjs.map +1 -0
  286. package/dist/{types/sdk/authentication-jwt-bearer/flow-siwe.d.ts → sdk/authentication-jwt-bearer/flow-siwe.d.cts} +2 -2
  287. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.cts.map +1 -0
  288. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.mts +23 -0
  289. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.mts.map +1 -0
  290. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +101 -11
  291. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs.map +1 -1
  292. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs +125 -0
  293. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs.map +1 -0
  294. package/dist/{types/sdk/authentication-jwt-bearer/flow-srp.d.ts → sdk/authentication-jwt-bearer/flow-srp.d.cts} +4 -2
  295. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.cts.map +1 -0
  296. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.mts +19 -0
  297. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.mts.map +1 -0
  298. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +119 -13
  299. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs.map +1 -1
  300. package/dist/sdk/authentication-jwt-bearer/services.cjs +180 -0
  301. package/dist/sdk/authentication-jwt-bearer/services.cjs.map +1 -0
  302. package/dist/{types/sdk/authentication-jwt-bearer/services.d.ts → sdk/authentication-jwt-bearer/services.d.cts} +4 -4
  303. package/dist/sdk/authentication-jwt-bearer/services.d.cts.map +1 -0
  304. package/dist/sdk/authentication-jwt-bearer/services.d.mts +63 -0
  305. package/dist/sdk/authentication-jwt-bearer/services.d.mts.map +1 -0
  306. package/dist/sdk/authentication-jwt-bearer/services.mjs +166 -25
  307. package/dist/sdk/authentication-jwt-bearer/services.mjs.map +1 -1
  308. package/dist/sdk/authentication-jwt-bearer/types.cjs +12 -0
  309. package/dist/sdk/authentication-jwt-bearer/types.cjs.map +1 -0
  310. package/dist/{types/sdk/authentication-jwt-bearer/types.d.ts → sdk/authentication-jwt-bearer/types.d.cts} +2 -2
  311. package/dist/sdk/authentication-jwt-bearer/types.d.cts.map +1 -0
  312. package/dist/sdk/authentication-jwt-bearer/types.d.mts +67 -0
  313. package/dist/sdk/authentication-jwt-bearer/types.d.mts.map +1 -0
  314. package/dist/sdk/authentication-jwt-bearer/types.mjs +8 -7
  315. package/dist/sdk/authentication-jwt-bearer/types.mjs.map +1 -1
  316. package/dist/sdk/authentication.cjs +124 -0
  317. package/dist/sdk/authentication.cjs.map +1 -0
  318. package/dist/{types/sdk/authentication.d.ts → sdk/authentication.d.cts} +7 -7
  319. package/dist/sdk/authentication.d.cts.map +1 -0
  320. package/dist/sdk/authentication.d.mts +32 -0
  321. package/dist/sdk/authentication.d.mts.map +1 -0
  322. package/dist/sdk/authentication.mjs +102 -24
  323. package/dist/sdk/authentication.mjs.map +1 -1
  324. package/dist/sdk/encryption.cjs +23 -0
  325. package/dist/sdk/encryption.cjs.map +1 -0
  326. package/dist/sdk/encryption.d.cts +4 -0
  327. package/dist/sdk/encryption.d.cts.map +1 -0
  328. package/dist/sdk/encryption.d.mts +4 -0
  329. package/dist/sdk/encryption.d.mts.map +1 -0
  330. package/dist/sdk/encryption.mjs +3 -13
  331. package/dist/sdk/encryption.mjs.map +1 -1
  332. package/dist/sdk/env.cjs +85 -0
  333. package/dist/sdk/env.cjs.map +1 -0
  334. package/dist/{types/sdk/env.d.ts → sdk/env.d.cts} +1 -1
  335. package/dist/sdk/env.d.cts.map +1 -0
  336. package/dist/sdk/env.d.mts +34 -0
  337. package/dist/sdk/env.d.mts.map +1 -0
  338. package/dist/sdk/env.mjs +78 -12
  339. package/dist/sdk/env.mjs.map +1 -1
  340. package/dist/sdk/errors.cjs +53 -0
  341. package/dist/sdk/errors.cjs.map +1 -0
  342. package/dist/{types/sdk/errors.d.ts → sdk/errors.d.cts} +1 -1
  343. package/dist/sdk/errors.d.cts.map +1 -0
  344. package/dist/sdk/errors.d.mts +22 -0
  345. package/dist/sdk/errors.d.mts.map +1 -0
  346. package/dist/sdk/errors.mjs +42 -19
  347. package/dist/sdk/errors.mjs.map +1 -1
  348. package/dist/sdk/index.cjs +23 -0
  349. package/dist/sdk/index.cjs.map +1 -0
  350. package/dist/sdk/index.d.cts +7 -0
  351. package/dist/sdk/index.d.cts.map +1 -0
  352. package/dist/sdk/index.d.mts +7 -0
  353. package/dist/sdk/index.d.mts.map +1 -0
  354. package/dist/sdk/index.mjs +6 -78
  355. package/dist/sdk/index.mjs.map +1 -1
  356. package/dist/sdk/user-storage.cjs +176 -0
  357. package/dist/sdk/user-storage.cjs.map +1 -0
  358. package/dist/{types/sdk/user-storage.d.ts → sdk/user-storage.d.cts} +4 -4
  359. package/dist/sdk/user-storage.d.cts.map +1 -0
  360. package/dist/sdk/user-storage.d.mts +27 -0
  361. package/dist/sdk/user-storage.d.mts.map +1 -0
  362. package/dist/sdk/user-storage.mjs +146 -16
  363. package/dist/sdk/user-storage.mjs.map +1 -1
  364. package/dist/sdk/utils/eip-6963-metamask-provider.cjs +70 -0
  365. package/dist/sdk/utils/eip-6963-metamask-provider.cjs.map +1 -0
  366. package/dist/{types/sdk/utils/eip-6963-metamask-provider.d.ts → sdk/utils/eip-6963-metamask-provider.d.cts} +2 -2
  367. package/dist/sdk/utils/eip-6963-metamask-provider.d.cts.map +1 -0
  368. package/dist/sdk/utils/eip-6963-metamask-provider.d.mts +25 -0
  369. package/dist/sdk/utils/eip-6963-metamask-provider.d.mts.map +1 -0
  370. package/dist/sdk/utils/eip-6963-metamask-provider.mjs +64 -8
  371. package/dist/sdk/utils/eip-6963-metamask-provider.mjs.map +1 -1
  372. package/dist/sdk/utils/messaging-signing-snap-requests.cjs +73 -0
  373. package/dist/sdk/utils/messaging-signing-snap-requests.cjs.map +1 -0
  374. package/dist/{types/sdk/utils/messaging-signing-snap-requests.d.ts → sdk/utils/messaging-signing-snap-requests.d.cts} +2 -7
  375. package/dist/sdk/utils/messaging-signing-snap-requests.d.cts.map +1 -0
  376. package/dist/sdk/utils/messaging-signing-snap-requests.d.mts +35 -0
  377. package/dist/sdk/utils/messaging-signing-snap-requests.d.mts.map +1 -0
  378. package/dist/sdk/utils/messaging-signing-snap-requests.mjs +65 -16
  379. package/dist/sdk/utils/messaging-signing-snap-requests.mjs.map +1 -1
  380. package/dist/sdk/utils/validate-login-response.cjs +22 -0
  381. package/dist/sdk/utils/validate-login-response.cjs.map +1 -0
  382. package/dist/{types/sdk/utils/validate-login-response.d.ts → sdk/utils/validate-login-response.d.cts} +2 -2
  383. package/dist/sdk/utils/validate-login-response.d.cts.map +1 -0
  384. package/dist/sdk/utils/validate-login-response.d.mts +10 -0
  385. package/dist/sdk/utils/validate-login-response.d.mts.map +1 -0
  386. package/dist/sdk/utils/validate-login-response.mjs +17 -7
  387. package/dist/sdk/utils/validate-login-response.mjs.map +1 -1
  388. package/package.json +62 -30
  389. package/sdk/package.json +9 -0
  390. package/user-storage/mocks/package.json +2 -2
  391. package/user-storage/package.json +2 -2
  392. package/dist/chunk-2CWF7ZTL.mjs +0 -129
  393. package/dist/chunk-2CWF7ZTL.mjs.map +0 -1
  394. package/dist/chunk-2VEMA6OE.mjs +0 -47
  395. package/dist/chunk-2VEMA6OE.mjs.map +0 -1
  396. package/dist/chunk-4LMFZDL4.js +0 -114
  397. package/dist/chunk-4LMFZDL4.js.map +0 -1
  398. package/dist/chunk-4TMLEABQ.js +0 -79
  399. package/dist/chunk-4TMLEABQ.js.map +0 -1
  400. package/dist/chunk-5MQUI24U.js +0 -47
  401. package/dist/chunk-5MQUI24U.js.map +0 -1
  402. package/dist/chunk-5XSXZTED.mjs +0 -57
  403. package/dist/chunk-5XSXZTED.mjs.map +0 -1
  404. package/dist/chunk-6DAK2U35.mjs +0 -11
  405. package/dist/chunk-6DAK2U35.mjs.map +0 -1
  406. package/dist/chunk-76NMME23.mjs +0 -114
  407. package/dist/chunk-76NMME23.mjs.map +0 -1
  408. package/dist/chunk-76VRE4BI.mjs +0 -18
  409. package/dist/chunk-76VRE4BI.mjs.map +0 -1
  410. package/dist/chunk-BKQE7DB5.js +0 -170
  411. package/dist/chunk-BKQE7DB5.js.map +0 -1
  412. package/dist/chunk-CAIIVJAO.mjs +0 -11
  413. package/dist/chunk-CAIIVJAO.mjs.map +0 -1
  414. package/dist/chunk-COBJUBZE.mjs +0 -170
  415. package/dist/chunk-COBJUBZE.mjs.map +0 -1
  416. package/dist/chunk-D4SNJOID.mjs +0 -269
  417. package/dist/chunk-D4SNJOID.mjs.map +0 -1
  418. package/dist/chunk-DF24ZX4H.js +0 -76
  419. package/dist/chunk-DF24ZX4H.js.map +0 -1
  420. package/dist/chunk-DRB2MN4T.js +0 -16
  421. package/dist/chunk-DRB2MN4T.js.map +0 -1
  422. package/dist/chunk-EHZFPUJH.mjs +0 -53
  423. package/dist/chunk-EHZFPUJH.mjs.map +0 -1
  424. package/dist/chunk-F6BAOSH2.js +0 -269
  425. package/dist/chunk-F6BAOSH2.js.map +0 -1
  426. package/dist/chunk-GQXYWBFK.js +0 -28
  427. package/dist/chunk-GQXYWBFK.js.map +0 -1
  428. package/dist/chunk-H25EBXG5.mjs +0 -58
  429. package/dist/chunk-H25EBXG5.mjs.map +0 -1
  430. package/dist/chunk-IGY2S5BC.js +0 -36
  431. package/dist/chunk-IGY2S5BC.js.map +0 -1
  432. package/dist/chunk-JAQ5TPSZ.js +0 -53
  433. package/dist/chunk-JAQ5TPSZ.js.map +0 -1
  434. package/dist/chunk-KHASG4H3.mjs +0 -11
  435. package/dist/chunk-KHASG4H3.mjs.map +0 -1
  436. package/dist/chunk-KIVBL6OM.js +0 -129
  437. package/dist/chunk-KIVBL6OM.js.map +0 -1
  438. package/dist/chunk-KTCSRECK.mjs +0 -76
  439. package/dist/chunk-KTCSRECK.mjs.map +0 -1
  440. package/dist/chunk-LGXQBALM.mjs +0 -106
  441. package/dist/chunk-LGXQBALM.mjs.map +0 -1
  442. package/dist/chunk-LLG4D2SC.js +0 -157
  443. package/dist/chunk-LLG4D2SC.js.map +0 -1
  444. package/dist/chunk-M7AUA5W7.mjs +0 -79
  445. package/dist/chunk-M7AUA5W7.mjs.map +0 -1
  446. package/dist/chunk-MBTBE4P5.js +0 -54
  447. package/dist/chunk-MBTBE4P5.js.map +0 -1
  448. package/dist/chunk-MK7ABX2V.mjs +0 -186
  449. package/dist/chunk-MK7ABX2V.mjs.map +0 -1
  450. package/dist/chunk-NEBLEB3X.mjs +0 -107
  451. package/dist/chunk-NEBLEB3X.mjs.map +0 -1
  452. package/dist/chunk-NIUQ34PY.js +0 -11
  453. package/dist/chunk-NIUQ34PY.js.map +0 -1
  454. package/dist/chunk-NMIF3LSX.mjs +0 -29
  455. package/dist/chunk-NMIF3LSX.mjs.map +0 -1
  456. package/dist/chunk-OLFO6R7Z.mjs +0 -546
  457. package/dist/chunk-OLFO6R7Z.mjs.map +0 -1
  458. package/dist/chunk-PBRUOBEQ.js +0 -11
  459. package/dist/chunk-PBRUOBEQ.js.map +0 -1
  460. package/dist/chunk-PCOIRDTO.js +0 -18
  461. package/dist/chunk-PCOIRDTO.js.map +0 -1
  462. package/dist/chunk-PQMPSEVJ.js +0 -546
  463. package/dist/chunk-PQMPSEVJ.js.map +0 -1
  464. package/dist/chunk-PRYLTXW4.js +0 -92
  465. package/dist/chunk-PRYLTXW4.js.map +0 -1
  466. package/dist/chunk-PU7MAIST.mjs +0 -129
  467. package/dist/chunk-PU7MAIST.mjs.map +0 -1
  468. package/dist/chunk-QCQU4BQL.js +0 -68
  469. package/dist/chunk-QCQU4BQL.js.map +0 -1
  470. package/dist/chunk-QDGLIUUS.mjs +0 -16
  471. package/dist/chunk-QDGLIUUS.mjs.map +0 -1
  472. package/dist/chunk-RG4II6WH.js +0 -57
  473. package/dist/chunk-RG4II6WH.js.map +0 -1
  474. package/dist/chunk-TFFQFIJV.mjs +0 -54
  475. package/dist/chunk-TFFQFIJV.mjs.map +0 -1
  476. package/dist/chunk-TP7SP3AG.mjs +0 -133
  477. package/dist/chunk-TP7SP3AG.mjs.map +0 -1
  478. package/dist/chunk-U5UIDVOO.mjs +0 -36
  479. package/dist/chunk-U5UIDVOO.mjs.map +0 -1
  480. package/dist/chunk-UAXWZN5J.js +0 -58
  481. package/dist/chunk-UAXWZN5J.js.map +0 -1
  482. package/dist/chunk-UEHMUVQQ.js +0 -133
  483. package/dist/chunk-UEHMUVQQ.js.map +0 -1
  484. package/dist/chunk-UEWCUBMX.mjs +0 -68
  485. package/dist/chunk-UEWCUBMX.mjs.map +0 -1
  486. package/dist/chunk-UHP2Y32K.mjs +0 -92
  487. package/dist/chunk-UHP2Y32K.mjs.map +0 -1
  488. package/dist/chunk-UHX7HJAI.js +0 -11
  489. package/dist/chunk-UHX7HJAI.js.map +0 -1
  490. package/dist/chunk-UIRAMHNM.js +0 -186
  491. package/dist/chunk-UIRAMHNM.js.map +0 -1
  492. package/dist/chunk-VWDRFRJU.js +0 -107
  493. package/dist/chunk-VWDRFRJU.js.map +0 -1
  494. package/dist/chunk-Y45XUW33.js +0 -129
  495. package/dist/chunk-Y45XUW33.js.map +0 -1
  496. package/dist/chunk-YHGWG3EQ.js +0 -29
  497. package/dist/chunk-YHGWG3EQ.js.map +0 -1
  498. package/dist/chunk-YLURF2PF.mjs +0 -157
  499. package/dist/chunk-YLURF2PF.mjs.map +0 -1
  500. package/dist/chunk-ZUPTMFEA.mjs +0 -28
  501. package/dist/chunk-ZUPTMFEA.mjs.map +0 -1
  502. package/dist/chunk-ZX2KHPXG.js +0 -106
  503. package/dist/chunk-ZX2KHPXG.js.map +0 -1
  504. package/dist/controllers/authentication/AuthenticationController.js +0 -13
  505. package/dist/controllers/authentication/AuthenticationController.js.map +0 -1
  506. package/dist/controllers/authentication/auth-snap-requests.js +0 -10
  507. package/dist/controllers/authentication/auth-snap-requests.js.map +0 -1
  508. package/dist/controllers/authentication/index.js +0 -19
  509. package/dist/controllers/authentication/index.js.map +0 -1
  510. package/dist/controllers/authentication/services.js +0 -21
  511. package/dist/controllers/authentication/services.js.map +0 -1
  512. package/dist/controllers/index.js +0 -25
  513. package/dist/controllers/index.js.map +0 -1
  514. package/dist/controllers/user-storage/UserStorageController.js +0 -20
  515. package/dist/controllers/user-storage/UserStorageController.js.map +0 -1
  516. package/dist/controllers/user-storage/accounts/constants.js +0 -12
  517. package/dist/controllers/user-storage/accounts/constants.js.map +0 -1
  518. package/dist/controllers/user-storage/accounts/user-storage.js +0 -11
  519. package/dist/controllers/user-storage/accounts/user-storage.js.map +0 -1
  520. package/dist/controllers/user-storage/encryption/cache.js +0 -13
  521. package/dist/controllers/user-storage/encryption/cache.js.map +0 -1
  522. package/dist/controllers/user-storage/encryption/encryption.js +0 -12
  523. package/dist/controllers/user-storage/encryption/encryption.js.map +0 -1
  524. package/dist/controllers/user-storage/encryption/index.js +0 -16
  525. package/dist/controllers/user-storage/encryption/index.js.map +0 -1
  526. package/dist/controllers/user-storage/encryption/utils.js +0 -12
  527. package/dist/controllers/user-storage/encryption/utils.js.map +0 -1
  528. package/dist/controllers/user-storage/index.js +0 -31
  529. package/dist/controllers/user-storage/index.js.map +0 -1
  530. package/dist/controllers/user-storage/schema.js +0 -18
  531. package/dist/controllers/user-storage/schema.js.map +0 -1
  532. package/dist/controllers/user-storage/services.js +0 -22
  533. package/dist/controllers/user-storage/services.js.map +0 -1
  534. package/dist/index.js +0 -40
  535. package/dist/index.js.map +0 -1
  536. package/dist/sdk/authentication-jwt-bearer/flow-siwe.js +0 -13
  537. package/dist/sdk/authentication-jwt-bearer/flow-siwe.js.map +0 -1
  538. package/dist/sdk/authentication-jwt-bearer/flow-srp.js +0 -15
  539. package/dist/sdk/authentication-jwt-bearer/flow-srp.js.map +0 -1
  540. package/dist/sdk/authentication-jwt-bearer/services.js +0 -27
  541. package/dist/sdk/authentication-jwt-bearer/services.js.map +0 -1
  542. package/dist/sdk/authentication-jwt-bearer/types.js +0 -8
  543. package/dist/sdk/authentication-jwt-bearer/types.js.map +0 -1
  544. package/dist/sdk/authentication.js +0 -26
  545. package/dist/sdk/authentication.js.map +0 -1
  546. package/dist/sdk/encryption.js +0 -14
  547. package/dist/sdk/encryption.js.map +0 -1
  548. package/dist/sdk/env.js +0 -14
  549. package/dist/sdk/env.js.map +0 -1
  550. package/dist/sdk/errors.js +0 -20
  551. package/dist/sdk/errors.js.map +0 -1
  552. package/dist/sdk/index.js +0 -79
  553. package/dist/sdk/index.js.map +0 -1
  554. package/dist/sdk/user-storage.js +0 -18
  555. package/dist/sdk/user-storage.js.map +0 -1
  556. package/dist/sdk/utils/eip-6963-metamask-provider.js +0 -10
  557. package/dist/sdk/utils/eip-6963-metamask-provider.js.map +0 -1
  558. package/dist/sdk/utils/messaging-signing-snap-requests.js +0 -18
  559. package/dist/sdk/utils/messaging-signing-snap-requests.js.map +0 -1
  560. package/dist/sdk/utils/validate-login-response.js +0 -8
  561. package/dist/sdk/utils/validate-login-response.js.map +0 -1
  562. package/dist/tsconfig.build.tsbuildinfo +0 -1
  563. package/dist/types/controllers/authentication/AuthenticationController.d.ts.map +0 -1
  564. package/dist/types/controllers/authentication/__fixtures__/index.d.ts +0 -2
  565. package/dist/types/controllers/authentication/__fixtures__/index.d.ts.map +0 -1
  566. package/dist/types/controllers/authentication/__fixtures__/mockResponses.d.ts.map +0 -1
  567. package/dist/types/controllers/authentication/__fixtures__/mockServices.d.ts.map +0 -1
  568. package/dist/types/controllers/authentication/auth-snap-requests.d.ts.map +0 -1
  569. package/dist/types/controllers/authentication/index.d.ts +0 -7
  570. package/dist/types/controllers/authentication/index.d.ts.map +0 -1
  571. package/dist/types/controllers/authentication/services.d.ts.map +0 -1
  572. package/dist/types/controllers/index.d.ts +0 -3
  573. package/dist/types/controllers/index.d.ts.map +0 -1
  574. package/dist/types/controllers/user-storage/UserStorageController.d.ts.map +0 -1
  575. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts +0 -3
  576. package/dist/types/controllers/user-storage/__fixtures__/index.d.ts.map +0 -1
  577. package/dist/types/controllers/user-storage/__fixtures__/mockAccounts.d.ts.map +0 -1
  578. package/dist/types/controllers/user-storage/__fixtures__/mockResponses.d.ts.map +0 -1
  579. package/dist/types/controllers/user-storage/__fixtures__/mockServices.d.ts.map +0 -1
  580. package/dist/types/controllers/user-storage/__fixtures__/mockStorage.d.ts.map +0 -1
  581. package/dist/types/controllers/user-storage/accounts/constants.d.ts.map +0 -1
  582. package/dist/types/controllers/user-storage/accounts/user-storage.d.ts.map +0 -1
  583. package/dist/types/controllers/user-storage/encryption/cache.d.ts.map +0 -1
  584. package/dist/types/controllers/user-storage/encryption/encryption.d.ts.map +0 -1
  585. package/dist/types/controllers/user-storage/encryption/index.d.ts +0 -5
  586. package/dist/types/controllers/user-storage/encryption/index.d.ts.map +0 -1
  587. package/dist/types/controllers/user-storage/encryption/utils.d.ts.map +0 -1
  588. package/dist/types/controllers/user-storage/index.d.ts +0 -8
  589. package/dist/types/controllers/user-storage/index.d.ts.map +0 -1
  590. package/dist/types/controllers/user-storage/schema.d.ts.map +0 -1
  591. package/dist/types/controllers/user-storage/services.d.ts.map +0 -1
  592. package/dist/types/index.d.ts +0 -4
  593. package/dist/types/index.d.ts.map +0 -1
  594. package/dist/types/sdk/__fixtures__/mock-auth.d.ts.map +0 -1
  595. package/dist/types/sdk/__fixtures__/mock-userstorage.d.ts.map +0 -1
  596. package/dist/types/sdk/__fixtures__/test-utils.d.ts.map +0 -1
  597. package/dist/types/sdk/authentication-jwt-bearer/flow-siwe.d.ts.map +0 -1
  598. package/dist/types/sdk/authentication-jwt-bearer/flow-srp.d.ts.map +0 -1
  599. package/dist/types/sdk/authentication-jwt-bearer/services.d.ts.map +0 -1
  600. package/dist/types/sdk/authentication-jwt-bearer/types.d.ts.map +0 -1
  601. package/dist/types/sdk/authentication.d.ts.map +0 -1
  602. package/dist/types/sdk/encryption.d.ts +0 -4
  603. package/dist/types/sdk/encryption.d.ts.map +0 -1
  604. package/dist/types/sdk/env.d.ts.map +0 -1
  605. package/dist/types/sdk/errors.d.ts.map +0 -1
  606. package/dist/types/sdk/index.d.ts +0 -7
  607. package/dist/types/sdk/index.d.ts.map +0 -1
  608. package/dist/types/sdk/user-storage.d.ts.map +0 -1
  609. package/dist/types/sdk/utils/eip-6963-metamask-provider.d.ts.map +0 -1
  610. package/dist/types/sdk/utils/messaging-signing-snap-requests.d.ts.map +0 -1
  611. package/dist/types/sdk/utils/validate-login-response.d.ts.map +0 -1
@@ -1,15 +1,121 @@
1
- import {
2
- SRPJwtBearerAuth
3
- } from "../../chunk-TP7SP3AG.mjs";
4
- import "../../chunk-YLURF2PF.mjs";
5
- import "../../chunk-CAIIVJAO.mjs";
6
- import "../../chunk-5XSXZTED.mjs";
7
- import "../../chunk-UEWCUBMX.mjs";
8
- import "../../chunk-QDGLIUUS.mjs";
9
- import "../../chunk-KTCSRECK.mjs";
10
- import "../../chunk-TFFQFIJV.mjs";
11
- import "../../chunk-U5UIDVOO.mjs";
12
- export {
13
- SRPJwtBearerAuth
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _SRPJwtBearerAuth_instances, _SRPJwtBearerAuth_config, _SRPJwtBearerAuth_options, _SRPJwtBearerAuth_getAuthSession, _SRPJwtBearerAuth_login, _SRPJwtBearerAuth_createSrpLoginRawMessage;
13
+ import { ValidationError } from "../errors.mjs";
14
+ import { getMetaMaskProviderEIP6963 } from "../utils/eip-6963-metamask-provider.mjs";
15
+ import { MESSAGE_SIGNING_SNAP, connectSnap, isSnapConnected } from "../utils/messaging-signing-snap-requests.mjs";
16
+ import { validateLoginResponse } from "../utils/validate-login-response.mjs";
17
+ import { authenticate, authorizeOIDC, getNonce } from "./services.mjs";
18
+ const getDefaultEIP6963Provider = async () => {
19
+ const provider = await getMetaMaskProviderEIP6963();
20
+ if (!provider) {
21
+ throw new ValidationError('No MetaMask wallet connected');
22
+ }
23
+ return provider;
24
+ };
25
+ const defaultEIP6963SigningOptions = {
26
+ getIdentifier: async () => {
27
+ const provider = await getDefaultEIP6963Provider();
28
+ return await MESSAGE_SIGNING_SNAP.getPublicKey(provider);
29
+ },
30
+ signMessage: async (message) => {
31
+ const provider = await getDefaultEIP6963Provider();
32
+ if (!message.startsWith('metamask:')) {
33
+ throw new ValidationError('message must start with "metamask:"');
34
+ }
35
+ const formattedMessage = message;
36
+ return await MESSAGE_SIGNING_SNAP.signMessage(provider, formattedMessage);
37
+ },
38
+ };
39
+ export class SRPJwtBearerAuth {
40
+ constructor(config, options) {
41
+ _SRPJwtBearerAuth_instances.add(this);
42
+ _SRPJwtBearerAuth_config.set(this, void 0);
43
+ _SRPJwtBearerAuth_options.set(this, void 0);
44
+ __classPrivateFieldSet(this, _SRPJwtBearerAuth_config, config, "f");
45
+ __classPrivateFieldSet(this, _SRPJwtBearerAuth_options, {
46
+ storage: options.storage,
47
+ signing: options.signing ?? defaultEIP6963SigningOptions,
48
+ }, "f");
49
+ }
50
+ async getAccessToken() {
51
+ const session = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_instances, "m", _SRPJwtBearerAuth_getAuthSession).call(this);
52
+ if (session) {
53
+ return session.token.accessToken;
54
+ }
55
+ const loginResponse = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_instances, "m", _SRPJwtBearerAuth_login).call(this);
56
+ return loginResponse.token.accessToken;
57
+ }
58
+ async getUserProfile() {
59
+ const session = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_instances, "m", _SRPJwtBearerAuth_getAuthSession).call(this);
60
+ if (session) {
61
+ return session.profile;
62
+ }
63
+ const loginResponse = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_instances, "m", _SRPJwtBearerAuth_login).call(this);
64
+ return loginResponse.profile;
65
+ }
66
+ async getIdentifier() {
67
+ return await __classPrivateFieldGet(this, _SRPJwtBearerAuth_options, "f").signing.getIdentifier();
68
+ }
69
+ async signMessage(message) {
70
+ return await __classPrivateFieldGet(this, _SRPJwtBearerAuth_options, "f").signing.signMessage(message);
71
+ }
72
+ async isSnapConnected() {
73
+ const provider = await getMetaMaskProviderEIP6963();
74
+ if (!provider) {
75
+ return false;
76
+ }
77
+ const isConnected = await isSnapConnected(provider);
78
+ return isConnected;
79
+ }
80
+ async connectSnap() {
81
+ const provider = await getDefaultEIP6963Provider();
82
+ const res = await connectSnap(provider);
83
+ return res;
84
+ }
85
+ }
86
+ _SRPJwtBearerAuth_config = new WeakMap(), _SRPJwtBearerAuth_options = new WeakMap(), _SRPJwtBearerAuth_instances = new WeakSet(), _SRPJwtBearerAuth_getAuthSession =
87
+ // convert expiresIn from seconds to milliseconds and use 90% of expiresIn
88
+ async function _SRPJwtBearerAuth_getAuthSession() {
89
+ const auth = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_options, "f").storage.getLoginResponse();
90
+ if (!validateLoginResponse(auth)) {
91
+ return null;
92
+ }
93
+ const currentTime = Date.now();
94
+ const sessionAge = currentTime - auth.token.obtainedAt;
95
+ const refreshThreshold = auth.token.expiresIn * 1000 * 0.9;
96
+ if (sessionAge < refreshThreshold) {
97
+ return auth;
98
+ }
99
+ return null;
100
+ }, _SRPJwtBearerAuth_login = async function _SRPJwtBearerAuth_login() {
101
+ // Nonce
102
+ const address = await this.getIdentifier();
103
+ const nonceRes = await getNonce(address, __classPrivateFieldGet(this, _SRPJwtBearerAuth_config, "f").env);
104
+ const publicKey = await __classPrivateFieldGet(this, _SRPJwtBearerAuth_options, "f").signing.getIdentifier();
105
+ const rawMessage = __classPrivateFieldGet(this, _SRPJwtBearerAuth_instances, "m", _SRPJwtBearerAuth_createSrpLoginRawMessage).call(this, nonceRes.nonce, publicKey);
106
+ const signature = await this.signMessage(rawMessage);
107
+ // Authenticate
108
+ const authResponse = await authenticate(rawMessage, signature, __classPrivateFieldGet(this, _SRPJwtBearerAuth_config, "f").type, __classPrivateFieldGet(this, _SRPJwtBearerAuth_config, "f").env);
109
+ // Authorize
110
+ const tokenResponse = await authorizeOIDC(authResponse.token, __classPrivateFieldGet(this, _SRPJwtBearerAuth_config, "f").env, __classPrivateFieldGet(this, _SRPJwtBearerAuth_config, "f").platform);
111
+ // Save
112
+ const result = {
113
+ profile: authResponse.profile,
114
+ token: tokenResponse,
115
+ };
116
+ await __classPrivateFieldGet(this, _SRPJwtBearerAuth_options, "f").storage.setLoginResponse(result);
117
+ return result;
118
+ }, _SRPJwtBearerAuth_createSrpLoginRawMessage = function _SRPJwtBearerAuth_createSrpLoginRawMessage(nonce, publicKey) {
119
+ return `metamask:${nonce}:${publicKey}`;
14
120
  };
15
121
  //# sourceMappingURL=flow-srp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"file":"flow-srp.mjs","sourceRoot":"","sources":["../../../src/sdk/authentication-jwt-bearer/flow-srp.ts"],"names":[],"mappings":"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","sourcesContent":["import { ValidationError } from '../errors';\nimport { getMetaMaskProviderEIP6963 } from '../utils/eip-6963-metamask-provider';\nimport {\n MESSAGE_SIGNING_SNAP,\n connectSnap,\n isSnapConnected,\n} from '../utils/messaging-signing-snap-requests';\nimport { validateLoginResponse } from '../utils/validate-login-response';\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 getDefaultEIP6963Provider = async () => {\n const provider = await getMetaMaskProviderEIP6963();\n if (!provider) {\n throw new ValidationError('No MetaMask wallet connected');\n }\n return provider;\n};\n\nconst defaultEIP6963SigningOptions: AuthSigningOptions = {\n getIdentifier: async (): Promise<string> => {\n const provider = await getDefaultEIP6963Provider();\n return await MESSAGE_SIGNING_SNAP.getPublicKey(provider);\n },\n signMessage: async (message: string): Promise<string> => {\n const provider = await getDefaultEIP6963Provider();\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 async isSnapConnected(): Promise<boolean> {\n const provider = await getMetaMaskProviderEIP6963();\n if (!provider) {\n return false;\n }\n\n const isConnected = await isSnapConnected(provider);\n return isConnected;\n }\n\n async connectSnap(): Promise<string> {\n const provider = await getDefaultEIP6963Provider();\n const res = await connectSnap(provider);\n return res;\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 (!validateLoginResponse(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,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authenticate = exports.authorizeOIDC = exports.getNonce = exports.pairIdentifiers = exports.SIWE_LOGIN_URL = exports.SRP_LOGIN_URL = exports.OIDC_TOKEN_URL = exports.PAIR_IDENTIFIERS = exports.NONCE_URL = void 0;
4
+ const env_1 = require("../env.cjs");
5
+ const errors_1 = require("../errors.cjs");
6
+ const types_1 = require("./types.cjs");
7
+ const NONCE_URL = (env) => `${(0, env_1.getEnvUrls)(env).authApiUrl}/api/v2/nonce`;
8
+ exports.NONCE_URL = NONCE_URL;
9
+ const PAIR_IDENTIFIERS = (env) => `${(0, env_1.getEnvUrls)(env).authApiUrl}/api/v2/identifiers/pair`;
10
+ exports.PAIR_IDENTIFIERS = PAIR_IDENTIFIERS;
11
+ const OIDC_TOKEN_URL = (env) => `${(0, env_1.getEnvUrls)(env).oidcApiUrl}/oauth2/token`;
12
+ exports.OIDC_TOKEN_URL = OIDC_TOKEN_URL;
13
+ const SRP_LOGIN_URL = (env) => `${(0, env_1.getEnvUrls)(env).authApiUrl}/api/v2/srp/login`;
14
+ exports.SRP_LOGIN_URL = SRP_LOGIN_URL;
15
+ const SIWE_LOGIN_URL = (env) => `${(0, env_1.getEnvUrls)(env).authApiUrl}/api/v2/siwe/login`;
16
+ exports.SIWE_LOGIN_URL = SIWE_LOGIN_URL;
17
+ const getAuthenticationUrl = (authType, env) => {
18
+ switch (authType) {
19
+ case types_1.AuthType.SRP:
20
+ return (0, exports.SRP_LOGIN_URL)(env);
21
+ case types_1.AuthType.SiWE:
22
+ return (0, exports.SIWE_LOGIN_URL)(env);
23
+ /* istanbul ignore next */
24
+ default:
25
+ throw new errors_1.ValidationError(`Invalid AuthType: ${authType} - unable to create Auth URL`);
26
+ }
27
+ };
28
+ /**
29
+ * Pair multiple identifiers under a single profile
30
+ *
31
+ * @param nonce - session nonce
32
+ * @param logins - pairing request payload
33
+ * @param accessToken - JWT access token used to access protected resources
34
+ * @param env - server environment
35
+ * @returns void.
36
+ */
37
+ async function pairIdentifiers(nonce, logins, accessToken, env) {
38
+ const pairUrl = new URL((0, exports.PAIR_IDENTIFIERS)(env));
39
+ try {
40
+ const response = await fetch(pairUrl, {
41
+ method: 'POST',
42
+ headers: {
43
+ 'Content-Type': 'application/json',
44
+ Authorization: `Bearer ${accessToken}`,
45
+ },
46
+ body: JSON.stringify({
47
+ nonce,
48
+ logins,
49
+ }),
50
+ });
51
+ if (!response.ok) {
52
+ const responseBody = (await response.json());
53
+ throw new Error(`HTTP error message: ${responseBody.message}, error: ${responseBody.error}`);
54
+ }
55
+ }
56
+ catch (e) {
57
+ /* istanbul ignore next */
58
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
59
+ throw new errors_1.PairError(`unable to pair identifiers: ${errorMessage}`);
60
+ }
61
+ }
62
+ exports.pairIdentifiers = pairIdentifiers;
63
+ /**
64
+ * Service to Get Nonce for JWT Bearer Flow
65
+ *
66
+ * @param id - identifier ID
67
+ * @param env - server environment
68
+ * @returns the nonce.
69
+ */
70
+ async function getNonce(id, env) {
71
+ const nonceUrl = new URL((0, exports.NONCE_URL)(env));
72
+ nonceUrl.searchParams.set('identifier', id);
73
+ try {
74
+ const nonceResponse = await fetch(nonceUrl.toString());
75
+ if (!nonceResponse.ok) {
76
+ const responseBody = (await nonceResponse.json());
77
+ throw new Error(`HTTP error message: ${responseBody.message}, error: ${responseBody.error}`);
78
+ }
79
+ const nonceJson = await nonceResponse.json();
80
+ return {
81
+ nonce: nonceJson.nonce,
82
+ identifier: nonceJson.identifier,
83
+ expiresIn: nonceJson.expires_in,
84
+ };
85
+ }
86
+ catch (e) {
87
+ /* istanbul ignore next */
88
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
89
+ throw new errors_1.NonceRetrievalError(`failed to generate nonce: ${errorMessage}`);
90
+ }
91
+ }
92
+ exports.getNonce = getNonce;
93
+ /**
94
+ * Service to Authorize And perform OIDC Flow to get the Access Token
95
+ *
96
+ * @param jwtToken - The original token received from Authentication. This is traded for the Access Token. (the authentication token is single-use)
97
+ * @param env - server environment
98
+ * @param platform - SDK platform
99
+ * @returns Access Token from Authorization server
100
+ */
101
+ async function authorizeOIDC(jwtToken, env, platform) {
102
+ const grantType = 'urn:ietf:params:oauth:grant-type:jwt-bearer';
103
+ const headers = new Headers({
104
+ 'Content-Type': 'application/x-www-form-urlencoded',
105
+ });
106
+ const urlEncodedBody = new URLSearchParams();
107
+ urlEncodedBody.append('grant_type', grantType);
108
+ urlEncodedBody.append('client_id', (0, env_1.getOidcClientId)(env, platform));
109
+ urlEncodedBody.append('assertion', jwtToken);
110
+ try {
111
+ const response = await fetch((0, exports.OIDC_TOKEN_URL)(env), {
112
+ method: 'POST',
113
+ headers,
114
+ body: urlEncodedBody.toString(),
115
+ });
116
+ if (!response.ok) {
117
+ const responseBody = (await response.json());
118
+ throw new Error(`HTTP error: ${responseBody.error_description}, error code: ${responseBody.error}`);
119
+ }
120
+ const accessTokenResponse = await response.json();
121
+ return {
122
+ accessToken: accessTokenResponse.access_token,
123
+ expiresIn: accessTokenResponse.expires_in,
124
+ obtainedAt: Date.now(),
125
+ };
126
+ }
127
+ catch (e) {
128
+ /* istanbul ignore next */
129
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
130
+ throw new errors_1.SignInError(`unable to get access token: ${errorMessage}`);
131
+ }
132
+ }
133
+ exports.authorizeOIDC = authorizeOIDC;
134
+ /**
135
+ * Service to Authenticate/Login a user via SIWE or SRP derived key.
136
+ *
137
+ * @param rawMessage - raw message for validation when authenticating
138
+ * @param signature - signed raw message
139
+ * @param authType - authentication type/flow used
140
+ * @param env - server environment
141
+ * @returns Authentication Token
142
+ */
143
+ async function authenticate(rawMessage, signature, authType, env) {
144
+ const authenticationUrl = getAuthenticationUrl(authType, env);
145
+ try {
146
+ const response = await fetch(authenticationUrl, {
147
+ method: 'POST',
148
+ headers: {
149
+ 'Content-Type': 'application/json',
150
+ },
151
+ body: JSON.stringify({
152
+ signature,
153
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
154
+ // eslint-disable-next-line @typescript-eslint/naming-convention
155
+ raw_message: rawMessage,
156
+ }),
157
+ });
158
+ if (!response.ok) {
159
+ const responseBody = (await response.json());
160
+ throw new Error(`${authType} login HTTP error: ${responseBody.message}, error code: ${responseBody.error}`);
161
+ }
162
+ const loginResponse = await response.json();
163
+ return {
164
+ token: loginResponse.token,
165
+ expiresIn: loginResponse.expires_in,
166
+ profile: {
167
+ identifierId: loginResponse.profile.identifier_id,
168
+ metaMetricsId: loginResponse.profile.metametrics_id,
169
+ profileId: loginResponse.profile.profile_id,
170
+ },
171
+ };
172
+ }
173
+ catch (e) {
174
+ /* istanbul ignore next */
175
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
176
+ throw new errors_1.SignInError(`unable to perform SRP login: ${errorMessage}`);
177
+ }
178
+ }
179
+ exports.authenticate = authenticate;
180
+ //# sourceMappingURL=services.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.cjs","sourceRoot":"","sources":["../../../src/sdk/authentication-jwt-bearer/services.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Env, Platform } from '../env';\nimport { getEnvUrls, getOidcClientId } from '../env';\nimport {\n NonceRetrievalError,\n PairError,\n SignInError,\n ValidationError,\n} from '../errors';\nimport type { AccessToken, ErrorMessage, UserProfile } from './types';\nimport { AuthType } from './types';\n\nexport const NONCE_URL = (env: Env) =>\n `${getEnvUrls(env).authApiUrl}/api/v2/nonce`;\n\nexport const PAIR_IDENTIFIERS = (env: Env) =>\n `${getEnvUrls(env).authApiUrl}/api/v2/identifiers/pair`;\n\nexport const OIDC_TOKEN_URL = (env: Env) =>\n `${getEnvUrls(env).oidcApiUrl}/oauth2/token`;\n\nexport const SRP_LOGIN_URL = (env: Env) =>\n `${getEnvUrls(env).authApiUrl}/api/v2/srp/login`;\n\nexport const SIWE_LOGIN_URL = (env: Env) =>\n `${getEnvUrls(env).authApiUrl}/api/v2/siwe/login`;\n\nconst getAuthenticationUrl = (authType: AuthType, env: Env): string => {\n switch (authType) {\n case AuthType.SRP:\n return SRP_LOGIN_URL(env);\n case AuthType.SiWE:\n return SIWE_LOGIN_URL(env);\n /* istanbul ignore next */\n default:\n throw new ValidationError(\n `Invalid AuthType: ${authType as number} - unable to create Auth URL`,\n );\n }\n};\n\ntype NonceResponse = {\n nonce: string;\n identifier: string;\n expiresIn: number;\n};\n\ntype PairRequest = {\n signature: string;\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: string;\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: string;\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: 'SIWE' | 'SRP';\n};\n\n/**\n * Pair multiple identifiers under a single profile\n *\n * @param nonce - session nonce\n * @param logins - pairing request payload\n * @param accessToken - JWT access token used to access protected resources\n * @param env - server environment\n * @returns void.\n */\nexport async function pairIdentifiers(\n nonce: string,\n logins: PairRequest[],\n accessToken: string,\n env: Env,\n): Promise<void> {\n const pairUrl = new URL(PAIR_IDENTIFIERS(env));\n\n try {\n const response = await fetch(pairUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n },\n body: JSON.stringify({\n nonce,\n logins,\n }),\n });\n\n if (!response.ok) {\n const responseBody = (await response.json()) as ErrorMessage;\n throw new Error(\n `HTTP error message: ${responseBody.message}, error: ${responseBody.error}`,\n );\n }\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new PairError(`unable to pair identifiers: ${errorMessage}`);\n }\n}\n\n/**\n * Service to Get Nonce for JWT Bearer Flow\n *\n * @param id - identifier ID\n * @param env - server environment\n * @returns the nonce.\n */\nexport async function getNonce(id: string, env: Env): Promise<NonceResponse> {\n const nonceUrl = new URL(NONCE_URL(env));\n nonceUrl.searchParams.set('identifier', id);\n\n try {\n const nonceResponse = await fetch(nonceUrl.toString());\n if (!nonceResponse.ok) {\n const responseBody = (await nonceResponse.json()) as ErrorMessage;\n throw new Error(\n `HTTP error message: ${responseBody.message}, error: ${responseBody.error}`,\n );\n }\n\n const nonceJson = await nonceResponse.json();\n return {\n nonce: nonceJson.nonce,\n identifier: nonceJson.identifier,\n expiresIn: nonceJson.expires_in,\n };\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new NonceRetrievalError(`failed to generate nonce: ${errorMessage}`);\n }\n}\n\n/**\n * Service to Authorize And perform OIDC Flow to get the Access Token\n *\n * @param jwtToken - The original token received from Authentication. This is traded for the Access Token. (the authentication token is single-use)\n * @param env - server environment\n * @param platform - SDK platform\n * @returns Access Token from Authorization server\n */\nexport async function authorizeOIDC(\n jwtToken: string,\n env: Env,\n platform: Platform,\n): Promise<AccessToken> {\n const grantType = 'urn:ietf:params:oauth:grant-type:jwt-bearer';\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', grantType);\n urlEncodedBody.append('client_id', getOidcClientId(env, platform));\n urlEncodedBody.append('assertion', jwtToken);\n\n try {\n const response = await fetch(OIDC_TOKEN_URL(env), {\n method: 'POST',\n headers,\n body: urlEncodedBody.toString(),\n });\n\n if (!response.ok) {\n const responseBody = (await response.json()) as {\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 error_description: string;\n error: string;\n };\n throw new Error(\n `HTTP error: ${responseBody.error_description}, error code: ${responseBody.error}`,\n );\n }\n\n const accessTokenResponse = await response.json();\n return {\n accessToken: accessTokenResponse.access_token,\n expiresIn: accessTokenResponse.expires_in,\n obtainedAt: Date.now(),\n };\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new SignInError(`unable to get access token: ${errorMessage}`);\n }\n}\n\ntype Authentication = {\n token: string;\n expiresIn: number;\n profile: UserProfile;\n};\n/**\n * Service to Authenticate/Login a user via SIWE or SRP derived key.\n *\n * @param rawMessage - raw message for validation when authenticating\n * @param signature - signed raw message\n * @param authType - authentication type/flow used\n * @param env - server environment\n * @returns Authentication Token\n */\nexport async function authenticate(\n rawMessage: string,\n signature: string,\n authType: AuthType,\n env: Env,\n): Promise<Authentication> {\n const authenticationUrl = getAuthenticationUrl(authType, env);\n\n try {\n const response = await fetch(authenticationUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n signature,\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: rawMessage,\n }),\n });\n\n if (!response.ok) {\n const responseBody = (await response.json()) as ErrorMessage;\n throw new Error(\n `${authType} login HTTP error: ${responseBody.message}, error code: ${responseBody.error}`,\n );\n }\n\n const loginResponse = await response.json();\n return {\n token: loginResponse.token,\n expiresIn: loginResponse.expires_in,\n profile: {\n identifierId: loginResponse.profile.identifier_id,\n metaMetricsId: loginResponse.profile.metametrics_id,\n profileId: loginResponse.profile.profile_id,\n },\n };\n } catch (e) {\n /* istanbul ignore next */\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new SignInError(`unable to perform SRP login: ${errorMessage}`);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
- import type { Env, Platform } from '../env';
2
- import type { AccessToken, UserProfile } from './types';
3
- import { AuthType } from './types';
1
+ import type { Env, Platform } from "../env.cjs";
2
+ import type { AccessToken, UserProfile } from "./types.cjs";
3
+ import { AuthType } from "./types.cjs";
4
4
  export declare const NONCE_URL: (env: Env) => string;
5
5
  export declare const PAIR_IDENTIFIERS: (env: Env) => string;
6
6
  export declare const OIDC_TOKEN_URL: (env: Env) => string;
@@ -60,4 +60,4 @@ type Authentication = {
60
60
  */
61
61
  export declare function authenticate(rawMessage: string, signature: string, authType: AuthType, env: Env): Promise<Authentication>;
62
62
  export {};
63
- //# sourceMappingURL=services.d.ts.map
63
+ //# sourceMappingURL=services.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.cts","sourceRoot":"","sources":["../../../src/sdk/authentication-jwt-bearer/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAe;AAQ5C,OAAO,KAAK,EAAE,WAAW,EAAgB,WAAW,EAAE,oBAAgB;AACtE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AAEnC,eAAO,MAAM,SAAS,QAAS,GAAG,WACY,CAAC;AAE/C,eAAO,MAAM,gBAAgB,QAAS,GAAG,WACgB,CAAC;AAE1D,eAAO,MAAM,cAAc,QAAS,GAAG,WACO,CAAC;AAE/C,eAAO,MAAM,aAAa,QAAS,GAAG,WACY,CAAC;AAEnD,eAAO,MAAM,cAAc,QAAS,GAAG,WACY,CAAC;AAgBpD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,qBAAqB,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB3E;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,WAAW,CAAC,CA0CtB;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AACF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,cAAc,CAAC,CAwCzB"}
@@ -0,0 +1,63 @@
1
+ import type { Env, Platform } from "../env.mjs";
2
+ import type { AccessToken, UserProfile } from "./types.mjs";
3
+ import { AuthType } from "./types.mjs";
4
+ export declare const NONCE_URL: (env: Env) => string;
5
+ export declare const PAIR_IDENTIFIERS: (env: Env) => string;
6
+ export declare const OIDC_TOKEN_URL: (env: Env) => string;
7
+ export declare const SRP_LOGIN_URL: (env: Env) => string;
8
+ export declare const SIWE_LOGIN_URL: (env: Env) => string;
9
+ type NonceResponse = {
10
+ nonce: string;
11
+ identifier: string;
12
+ expiresIn: number;
13
+ };
14
+ type PairRequest = {
15
+ signature: string;
16
+ raw_message: string;
17
+ encrypted_storage_key: string;
18
+ identifier_type: 'SIWE' | 'SRP';
19
+ };
20
+ /**
21
+ * Pair multiple identifiers under a single profile
22
+ *
23
+ * @param nonce - session nonce
24
+ * @param logins - pairing request payload
25
+ * @param accessToken - JWT access token used to access protected resources
26
+ * @param env - server environment
27
+ * @returns void.
28
+ */
29
+ export declare function pairIdentifiers(nonce: string, logins: PairRequest[], accessToken: string, env: Env): Promise<void>;
30
+ /**
31
+ * Service to Get Nonce for JWT Bearer Flow
32
+ *
33
+ * @param id - identifier ID
34
+ * @param env - server environment
35
+ * @returns the nonce.
36
+ */
37
+ export declare function getNonce(id: string, env: Env): Promise<NonceResponse>;
38
+ /**
39
+ * Service to Authorize And perform OIDC Flow to get the Access Token
40
+ *
41
+ * @param jwtToken - The original token received from Authentication. This is traded for the Access Token. (the authentication token is single-use)
42
+ * @param env - server environment
43
+ * @param platform - SDK platform
44
+ * @returns Access Token from Authorization server
45
+ */
46
+ export declare function authorizeOIDC(jwtToken: string, env: Env, platform: Platform): Promise<AccessToken>;
47
+ type Authentication = {
48
+ token: string;
49
+ expiresIn: number;
50
+ profile: UserProfile;
51
+ };
52
+ /**
53
+ * Service to Authenticate/Login a user via SIWE or SRP derived key.
54
+ *
55
+ * @param rawMessage - raw message for validation when authenticating
56
+ * @param signature - signed raw message
57
+ * @param authType - authentication type/flow used
58
+ * @param env - server environment
59
+ * @returns Authentication Token
60
+ */
61
+ export declare function authenticate(rawMessage: string, signature: string, authType: AuthType, env: Env): Promise<Authentication>;
62
+ export {};
63
+ //# sourceMappingURL=services.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.d.mts","sourceRoot":"","sources":["../../../src/sdk/authentication-jwt-bearer/services.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,mBAAe;AAQ5C,OAAO,KAAK,EAAE,WAAW,EAAgB,WAAW,EAAE,oBAAgB;AACtE,OAAO,EAAE,QAAQ,EAAE,oBAAgB;AAEnC,eAAO,MAAM,SAAS,QAAS,GAAG,WACY,CAAC;AAE/C,eAAO,MAAM,gBAAgB,QAAS,GAAG,WACgB,CAAC;AAE1D,eAAO,MAAM,cAAc,QAAS,GAAG,WACO,CAAC;AAE/C,eAAO,MAAM,aAAa,QAAS,GAAG,WACY,CAAC;AAEnD,eAAO,MAAM,cAAc,QAAS,GAAG,WACY,CAAC;AAgBpD,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,qBAAqB,EAAE,MAAM,CAAC;IAG9B,eAAe,EAAE,MAAM,GAAG,KAAK,CAAC;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,WAAW,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAyB3E;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,WAAW,CAAC,CA0CtB;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AACF;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,GACP,OAAO,CAAC,cAAc,CAAC,CAwCzB"}
@@ -1,27 +1,168 @@
1
- import {
2
- NONCE_URL,
3
- OIDC_TOKEN_URL,
4
- PAIR_IDENTIFIERS,
5
- SIWE_LOGIN_URL,
6
- SRP_LOGIN_URL,
7
- authenticate,
8
- authorizeOIDC,
9
- getNonce,
10
- pairIdentifiers
11
- } from "../../chunk-YLURF2PF.mjs";
12
- import "../../chunk-CAIIVJAO.mjs";
13
- import "../../chunk-KTCSRECK.mjs";
14
- import "../../chunk-TFFQFIJV.mjs";
15
- import "../../chunk-U5UIDVOO.mjs";
16
- export {
17
- NONCE_URL,
18
- OIDC_TOKEN_URL,
19
- PAIR_IDENTIFIERS,
20
- SIWE_LOGIN_URL,
21
- SRP_LOGIN_URL,
22
- authenticate,
23
- authorizeOIDC,
24
- getNonce,
25
- pairIdentifiers
1
+ import { getEnvUrls, getOidcClientId } from "../env.mjs";
2
+ import { NonceRetrievalError, PairError, SignInError, ValidationError } from "../errors.mjs";
3
+ import { AuthType } from "./types.mjs";
4
+ export const NONCE_URL = (env) => `${getEnvUrls(env).authApiUrl}/api/v2/nonce`;
5
+ export const PAIR_IDENTIFIERS = (env) => `${getEnvUrls(env).authApiUrl}/api/v2/identifiers/pair`;
6
+ export const OIDC_TOKEN_URL = (env) => `${getEnvUrls(env).oidcApiUrl}/oauth2/token`;
7
+ export const SRP_LOGIN_URL = (env) => `${getEnvUrls(env).authApiUrl}/api/v2/srp/login`;
8
+ export const SIWE_LOGIN_URL = (env) => `${getEnvUrls(env).authApiUrl}/api/v2/siwe/login`;
9
+ const getAuthenticationUrl = (authType, env) => {
10
+ switch (authType) {
11
+ case AuthType.SRP:
12
+ return SRP_LOGIN_URL(env);
13
+ case AuthType.SiWE:
14
+ return SIWE_LOGIN_URL(env);
15
+ /* istanbul ignore next */
16
+ default:
17
+ throw new ValidationError(`Invalid AuthType: ${authType} - unable to create Auth URL`);
18
+ }
26
19
  };
20
+ /**
21
+ * Pair multiple identifiers under a single profile
22
+ *
23
+ * @param nonce - session nonce
24
+ * @param logins - pairing request payload
25
+ * @param accessToken - JWT access token used to access protected resources
26
+ * @param env - server environment
27
+ * @returns void.
28
+ */
29
+ export async function pairIdentifiers(nonce, logins, accessToken, env) {
30
+ const pairUrl = new URL(PAIR_IDENTIFIERS(env));
31
+ try {
32
+ const response = await fetch(pairUrl, {
33
+ method: 'POST',
34
+ headers: {
35
+ 'Content-Type': 'application/json',
36
+ Authorization: `Bearer ${accessToken}`,
37
+ },
38
+ body: JSON.stringify({
39
+ nonce,
40
+ logins,
41
+ }),
42
+ });
43
+ if (!response.ok) {
44
+ const responseBody = (await response.json());
45
+ throw new Error(`HTTP error message: ${responseBody.message}, error: ${responseBody.error}`);
46
+ }
47
+ }
48
+ catch (e) {
49
+ /* istanbul ignore next */
50
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
51
+ throw new PairError(`unable to pair identifiers: ${errorMessage}`);
52
+ }
53
+ }
54
+ /**
55
+ * Service to Get Nonce for JWT Bearer Flow
56
+ *
57
+ * @param id - identifier ID
58
+ * @param env - server environment
59
+ * @returns the nonce.
60
+ */
61
+ export async function getNonce(id, env) {
62
+ const nonceUrl = new URL(NONCE_URL(env));
63
+ nonceUrl.searchParams.set('identifier', id);
64
+ try {
65
+ const nonceResponse = await fetch(nonceUrl.toString());
66
+ if (!nonceResponse.ok) {
67
+ const responseBody = (await nonceResponse.json());
68
+ throw new Error(`HTTP error message: ${responseBody.message}, error: ${responseBody.error}`);
69
+ }
70
+ const nonceJson = await nonceResponse.json();
71
+ return {
72
+ nonce: nonceJson.nonce,
73
+ identifier: nonceJson.identifier,
74
+ expiresIn: nonceJson.expires_in,
75
+ };
76
+ }
77
+ catch (e) {
78
+ /* istanbul ignore next */
79
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
80
+ throw new NonceRetrievalError(`failed to generate nonce: ${errorMessage}`);
81
+ }
82
+ }
83
+ /**
84
+ * Service to Authorize And perform OIDC Flow to get the Access Token
85
+ *
86
+ * @param jwtToken - The original token received from Authentication. This is traded for the Access Token. (the authentication token is single-use)
87
+ * @param env - server environment
88
+ * @param platform - SDK platform
89
+ * @returns Access Token from Authorization server
90
+ */
91
+ export async function authorizeOIDC(jwtToken, env, platform) {
92
+ const grantType = 'urn:ietf:params:oauth:grant-type:jwt-bearer';
93
+ const headers = new Headers({
94
+ 'Content-Type': 'application/x-www-form-urlencoded',
95
+ });
96
+ const urlEncodedBody = new URLSearchParams();
97
+ urlEncodedBody.append('grant_type', grantType);
98
+ urlEncodedBody.append('client_id', getOidcClientId(env, platform));
99
+ urlEncodedBody.append('assertion', jwtToken);
100
+ try {
101
+ const response = await fetch(OIDC_TOKEN_URL(env), {
102
+ method: 'POST',
103
+ headers,
104
+ body: urlEncodedBody.toString(),
105
+ });
106
+ if (!response.ok) {
107
+ const responseBody = (await response.json());
108
+ throw new Error(`HTTP error: ${responseBody.error_description}, error code: ${responseBody.error}`);
109
+ }
110
+ const accessTokenResponse = await response.json();
111
+ return {
112
+ accessToken: accessTokenResponse.access_token,
113
+ expiresIn: accessTokenResponse.expires_in,
114
+ obtainedAt: Date.now(),
115
+ };
116
+ }
117
+ catch (e) {
118
+ /* istanbul ignore next */
119
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
120
+ throw new SignInError(`unable to get access token: ${errorMessage}`);
121
+ }
122
+ }
123
+ /**
124
+ * Service to Authenticate/Login a user via SIWE or SRP derived key.
125
+ *
126
+ * @param rawMessage - raw message for validation when authenticating
127
+ * @param signature - signed raw message
128
+ * @param authType - authentication type/flow used
129
+ * @param env - server environment
130
+ * @returns Authentication Token
131
+ */
132
+ export async function authenticate(rawMessage, signature, authType, env) {
133
+ const authenticationUrl = getAuthenticationUrl(authType, env);
134
+ try {
135
+ const response = await fetch(authenticationUrl, {
136
+ method: 'POST',
137
+ headers: {
138
+ 'Content-Type': 'application/json',
139
+ },
140
+ body: JSON.stringify({
141
+ signature,
142
+ // TODO: Either fix this lint violation or explain why it's necessary to ignore.
143
+ // eslint-disable-next-line @typescript-eslint/naming-convention
144
+ raw_message: rawMessage,
145
+ }),
146
+ });
147
+ if (!response.ok) {
148
+ const responseBody = (await response.json());
149
+ throw new Error(`${authType} login HTTP error: ${responseBody.message}, error code: ${responseBody.error}`);
150
+ }
151
+ const loginResponse = await response.json();
152
+ return {
153
+ token: loginResponse.token,
154
+ expiresIn: loginResponse.expires_in,
155
+ profile: {
156
+ identifierId: loginResponse.profile.identifier_id,
157
+ metaMetricsId: loginResponse.profile.metametrics_id,
158
+ profileId: loginResponse.profile.profile_id,
159
+ },
160
+ };
161
+ }
162
+ catch (e) {
163
+ /* istanbul ignore next */
164
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
165
+ throw new SignInError(`unable to perform SRP login: ${errorMessage}`);
166
+ }
167
+ }
27
168
  //# sourceMappingURL=services.mjs.map