@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
package/CHANGELOG.md CHANGED
@@ -7,6 +7,54 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.7.0]
11
+
12
+ ### Changed
13
+
14
+ - update subpath exports to use new .d.cts definition files. ([#4709](https://github.com/MetaMask/core/pull/4709))
15
+ - move profile-sync-sdk snap methods to snap auth class ([#4708](https://github.com/MetaMask/core/pull/4708))
16
+ - move and validate `connectSnap` and `isSnapConnected` methods to only be available for SRP auth.
17
+
18
+ ### Removed
19
+
20
+ - test: remove unused test mock ([#4703](https://github.com/MetaMask/core/pull/4703))
21
+
22
+ ## [0.6.0]
23
+
24
+ ### Added
25
+
26
+ - Add network synchronisation logic ([#4694](https://github.com/MetaMask/core/pull/4694), [#4687](https://github.com/MetaMask/core/pull/4687), [#4685](https://github.com/MetaMask/core/pull/4685), [#4684](https://github.com/MetaMask/core/pull/4684))
27
+ - Add a `canSync` check for account synchronisation ([#4690](https://github.com/MetaMask/core/pull/4690))
28
+ - Add `onAccountAdded` and `onAccountNameUpdated` events to `UserStorageController` ([#4707](https://github.com/MetaMask/core/pull/4707))
29
+
30
+ ### Changed
31
+
32
+ - Bump `@metamask/snaps-sdk` from `^6.1.1` to `^6.5.0` ([#4689](https://github.com/MetaMask/core/pull/4689))
33
+ - Bump `@metamask/snaps-utils` from `^7.8.1` to `^8.1.1` ([#4689](https://github.com/MetaMask/core/pull/4689))
34
+ - Bump peer dependency `@metamask/snaps-controllers` from `^9.3.0` to `^9.7.0` ([#4689](https://github.com/MetaMask/core/pull/4689))
35
+
36
+ ### Removed
37
+
38
+ - **BREAKING:** Remove `getAccountByAddress` action ([#4693](https://github.com/MetaMask/core/pull/4693))
39
+
40
+ ### Fixed
41
+
42
+ - Produce and export ESM-compatible TypeScript type declaration files in addition to CommonJS-compatible declaration files ([#4648](https://github.com/MetaMask/core/pull/4648))
43
+ - Previously, this package shipped with only one variant of type declaration
44
+ files, and these files were only CommonJS-compatible, and the `exports`
45
+ field in `package.json` linked to these files. This is an anti-pattern and
46
+ was rightfully flagged by the
47
+ ["Are the Types Wrong?"](https://arethetypeswrong.github.io/) tool as
48
+ ["masquerading as CJS"](https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseCJS.md).
49
+ All of the ATTW checks now pass.
50
+ - Remove chunk files ([#4648](https://github.com/MetaMask/core/pull/4648)).
51
+ - Previously, the build tool we used to generate JavaScript files extracted
52
+ common code to "chunk" files. While this was intended to make this package
53
+ more tree-shakeable, it also made debugging more difficult for our
54
+ development teams. These chunk files are no longer present.
55
+ - Remove extra slash when constructing user storage url ([#4702](https://github.com/MetaMask/core/pull/4702))
56
+ - Await encryption promise ([#4705](https://github.com/MetaMask/core/pull/4705))
57
+
10
58
  ## [0.5.0]
11
59
 
12
60
  ### Added
@@ -149,7 +197,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
149
197
 
150
198
  - Initial release
151
199
 
152
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.5.0...HEAD
200
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.7.0...HEAD
201
+ [0.7.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.6.0...@metamask/profile-sync-controller@0.7.0
202
+ [0.6.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.5.0...@metamask/profile-sync-controller@0.6.0
153
203
  [0.5.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.4.0...@metamask/profile-sync-controller@0.5.0
154
204
  [0.4.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.3.0...@metamask/profile-sync-controller@0.4.0
155
205
  [0.3.0]: https://github.com/MetaMask/core/compare/@metamask/profile-sync-controller@0.2.1...@metamask/profile-sync-controller@0.3.0
@@ -4,6 +4,6 @@
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
- "main": "../../dist/controllers/authentication/__fixtures__/index.js",
8
- "types": "../../dist/types/controllers/authentication/__fixtures__/index.d.ts"
7
+ "main": "../../dist/controllers/authentication/__fixtures__/index.cjs",
8
+ "types": "../../dist/controllers/authentication/__fixtures__/index.d.cts"
9
9
  }
package/auth/package.json CHANGED
@@ -4,6 +4,6 @@
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
- "main": "../dist/controllers/authentication/index.js",
8
- "types": "../dist/types/controllers/authentication/index.d.ts"
7
+ "main": "../dist/controllers/authentication/index.cjs",
8
+ "types": "../dist/controllers/authentication/index.d.cts"
9
9
  }
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ 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");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ 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");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _AuthenticationController_instances, _AuthenticationController_metametrics, _AuthenticationController_isUnlocked, _AuthenticationController_keyringController, _AuthenticationController_registerMessageHandlers, _AuthenticationController_assertLoggedIn, _AuthenticationController_performAuthenticationFlow, _AuthenticationController_hasValidSession, _AuthenticationController__snapPublicKeyCache, _AuthenticationController_snapGetPublicKey, _AuthenticationController__snapSignMessageCache, _AuthenticationController_snapSignMessage;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.defaultState = void 0;
16
+ const base_controller_1 = require("@metamask/base-controller");
17
+ const auth_snap_requests_1 = require("./auth-snap-requests.cjs");
18
+ const services_1 = require("./services.cjs");
19
+ const THIRTY_MIN_MS = 1000 * 60 * 30;
20
+ const controllerName = 'AuthenticationController';
21
+ exports.defaultState = {
22
+ isSignedIn: false,
23
+ };
24
+ const metadata = {
25
+ isSignedIn: {
26
+ persist: true,
27
+ anonymous: true,
28
+ },
29
+ sessionData: {
30
+ persist: true,
31
+ anonymous: false,
32
+ },
33
+ };
34
+ /**
35
+ * Controller that enables authentication for restricted endpoints.
36
+ * Used for Global Profile Syncing and Notifications
37
+ */
38
+ class AuthenticationController extends base_controller_1.BaseController {
39
+ constructor({ messenger, state, metametrics, }) {
40
+ super({
41
+ messenger,
42
+ metadata,
43
+ name: controllerName,
44
+ state: { ...exports.defaultState, ...state },
45
+ });
46
+ _AuthenticationController_instances.add(this);
47
+ _AuthenticationController_metametrics.set(this, void 0);
48
+ _AuthenticationController_isUnlocked.set(this, false);
49
+ _AuthenticationController_keyringController.set(this, {
50
+ setupLockedStateSubscriptions: () => {
51
+ const { isUnlocked } = this.messagingSystem.call('KeyringController:getState');
52
+ __classPrivateFieldSet(this, _AuthenticationController_isUnlocked, isUnlocked, "f");
53
+ this.messagingSystem.subscribe('KeyringController:unlock', () => {
54
+ __classPrivateFieldSet(this, _AuthenticationController_isUnlocked, true, "f");
55
+ });
56
+ this.messagingSystem.subscribe('KeyringController:lock', () => {
57
+ __classPrivateFieldSet(this, _AuthenticationController_isUnlocked, false, "f");
58
+ });
59
+ },
60
+ });
61
+ _AuthenticationController__snapPublicKeyCache.set(this, void 0);
62
+ _AuthenticationController__snapSignMessageCache.set(this, {});
63
+ if (!metametrics) {
64
+ throw new Error('`metametrics` field is required');
65
+ }
66
+ __classPrivateFieldSet(this, _AuthenticationController_metametrics, metametrics, "f");
67
+ __classPrivateFieldGet(this, _AuthenticationController_keyringController, "f").setupLockedStateSubscriptions();
68
+ __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_registerMessageHandlers).call(this);
69
+ }
70
+ async performSignIn() {
71
+ const { accessToken } = await __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_performAuthenticationFlow).call(this);
72
+ return accessToken;
73
+ }
74
+ performSignOut() {
75
+ __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_assertLoggedIn).call(this);
76
+ this.update((state) => {
77
+ state.isSignedIn = false;
78
+ state.sessionData = undefined;
79
+ });
80
+ }
81
+ async getBearerToken() {
82
+ __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_assertLoggedIn).call(this);
83
+ if (__classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_hasValidSession).call(this, this.state.sessionData)) {
84
+ return this.state.sessionData.accessToken;
85
+ }
86
+ const { accessToken } = await __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_performAuthenticationFlow).call(this);
87
+ return accessToken;
88
+ }
89
+ /**
90
+ * Will return a session profile.
91
+ * Throws if a user is not logged in.
92
+ *
93
+ * @returns profile for the session.
94
+ */
95
+ async getSessionProfile() {
96
+ __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_assertLoggedIn).call(this);
97
+ if (__classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_hasValidSession).call(this, this.state.sessionData)) {
98
+ return this.state.sessionData.profile;
99
+ }
100
+ const { profile } = await __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_performAuthenticationFlow).call(this);
101
+ return profile;
102
+ }
103
+ isSignedIn() {
104
+ return this.state.isSignedIn;
105
+ }
106
+ }
107
+ _AuthenticationController_metametrics = new WeakMap(), _AuthenticationController_isUnlocked = new WeakMap(), _AuthenticationController_keyringController = new WeakMap(), _AuthenticationController__snapPublicKeyCache = new WeakMap(), _AuthenticationController__snapSignMessageCache = new WeakMap(), _AuthenticationController_instances = new WeakSet(), _AuthenticationController_registerMessageHandlers = function _AuthenticationController_registerMessageHandlers() {
108
+ this.messagingSystem.registerActionHandler('AuthenticationController:getBearerToken', this.getBearerToken.bind(this));
109
+ this.messagingSystem.registerActionHandler('AuthenticationController:getSessionProfile', this.getSessionProfile.bind(this));
110
+ this.messagingSystem.registerActionHandler('AuthenticationController:isSignedIn', this.isSignedIn.bind(this));
111
+ this.messagingSystem.registerActionHandler('AuthenticationController:performSignIn', this.performSignIn.bind(this));
112
+ this.messagingSystem.registerActionHandler('AuthenticationController:performSignOut', this.performSignOut.bind(this));
113
+ }, _AuthenticationController_assertLoggedIn = function _AuthenticationController_assertLoggedIn() {
114
+ if (!this.state.isSignedIn) {
115
+ throw new Error(`${controllerName}: Unable to call method, user is not authenticated`);
116
+ }
117
+ }, _AuthenticationController_performAuthenticationFlow = async function _AuthenticationController_performAuthenticationFlow() {
118
+ try {
119
+ // 1. Nonce
120
+ const publicKey = await __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_snapGetPublicKey).call(this);
121
+ const nonce = await (0, services_1.getNonce)(publicKey);
122
+ if (!nonce) {
123
+ throw new Error(`Unable to get nonce`);
124
+ }
125
+ // 2. Login
126
+ const rawMessage = (0, services_1.createLoginRawMessage)(nonce, publicKey);
127
+ const signature = await __classPrivateFieldGet(this, _AuthenticationController_instances, "m", _AuthenticationController_snapSignMessage).call(this, rawMessage);
128
+ const loginResponse = await (0, services_1.login)(rawMessage, signature, {
129
+ metametricsId: await __classPrivateFieldGet(this, _AuthenticationController_metametrics, "f").getMetaMetricsId(),
130
+ agent: __classPrivateFieldGet(this, _AuthenticationController_metametrics, "f").agent,
131
+ });
132
+ if (!loginResponse?.token) {
133
+ throw new Error(`Unable to login`);
134
+ }
135
+ const profile = {
136
+ identifierId: loginResponse.profile.identifier_id,
137
+ profileId: loginResponse.profile.profile_id,
138
+ };
139
+ // 3. Trade for Access Token
140
+ const accessToken = await (0, services_1.getAccessToken)(loginResponse.token, __classPrivateFieldGet(this, _AuthenticationController_metametrics, "f").agent);
141
+ if (!accessToken) {
142
+ throw new Error(`Unable to get Access Token`);
143
+ }
144
+ // Update Internal State
145
+ this.update((state) => {
146
+ state.isSignedIn = true;
147
+ const expiresIn = new Date();
148
+ expiresIn.setTime(expiresIn.getTime() + THIRTY_MIN_MS);
149
+ state.sessionData = {
150
+ profile,
151
+ accessToken,
152
+ expiresIn: expiresIn.toString(),
153
+ };
154
+ });
155
+ return {
156
+ profile,
157
+ accessToken,
158
+ };
159
+ }
160
+ catch (e) {
161
+ console.error('Failed to authenticate', e);
162
+ const errorMessage = e instanceof Error ? e.message : JSON.stringify(e ?? '');
163
+ throw new Error(`${controllerName}: Failed to authenticate - ${errorMessage}`);
164
+ }
165
+ }, _AuthenticationController_hasValidSession = function _AuthenticationController_hasValidSession(sessionData) {
166
+ if (!sessionData) {
167
+ return false;
168
+ }
169
+ const prevDate = Date.parse(sessionData.expiresIn);
170
+ if (isNaN(prevDate)) {
171
+ return false;
172
+ }
173
+ const currentDate = new Date();
174
+ const diffMs = Math.abs(currentDate.getTime() - prevDate);
175
+ return THIRTY_MIN_MS > diffMs;
176
+ }, _AuthenticationController_snapGetPublicKey =
177
+ /**
178
+ * Returns the auth snap public key.
179
+ *
180
+ * @returns The snap public key.
181
+ */
182
+ async function _AuthenticationController_snapGetPublicKey() {
183
+ if (__classPrivateFieldGet(this, _AuthenticationController__snapPublicKeyCache, "f")) {
184
+ return __classPrivateFieldGet(this, _AuthenticationController__snapPublicKeyCache, "f");
185
+ }
186
+ if (!__classPrivateFieldGet(this, _AuthenticationController_isUnlocked, "f")) {
187
+ throw new Error('#snapGetPublicKey - unable to call snap, wallet is locked');
188
+ }
189
+ const result = (await this.messagingSystem.call('SnapController:handleRequest', (0, auth_snap_requests_1.createSnapPublicKeyRequest)()));
190
+ __classPrivateFieldSet(this, _AuthenticationController__snapPublicKeyCache, result, "f");
191
+ return result;
192
+ }, _AuthenticationController_snapSignMessage =
193
+ /**
194
+ * Signs a specific message using an underlying auth snap.
195
+ *
196
+ * @param message - A specific tagged message to sign.
197
+ * @returns A Signature created by the snap.
198
+ */
199
+ async function _AuthenticationController_snapSignMessage(message) {
200
+ if (__classPrivateFieldGet(this, _AuthenticationController__snapSignMessageCache, "f")[message]) {
201
+ return __classPrivateFieldGet(this, _AuthenticationController__snapSignMessageCache, "f")[message];
202
+ }
203
+ if (!__classPrivateFieldGet(this, _AuthenticationController_isUnlocked, "f")) {
204
+ throw new Error('#snapSignMessage - unable to call snap, wallet is locked');
205
+ }
206
+ const result = (await this.messagingSystem.call('SnapController:handleRequest', (0, auth_snap_requests_1.createSnapSignMessageRequest)(message)));
207
+ __classPrivateFieldGet(this, _AuthenticationController__snapSignMessageCache, "f")[message] = result;
208
+ return result;
209
+ };
210
+ exports.default = AuthenticationController;
211
+ //# sourceMappingURL=AuthenticationController.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationController.cjs","sourceRoot":"","sources":["../../../src/controllers/authentication/AuthenticationController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ControllerGetStateAction,\n ControllerStateChangeEvent,\n RestrictedControllerMessenger,\n StateMetadata,\n} from '@metamask/base-controller';\nimport { BaseController } from '@metamask/base-controller';\nimport type {\n KeyringControllerGetStateAction,\n KeyringControllerLockEvent,\n KeyringControllerUnlockEvent,\n} from '@metamask/keyring-controller';\nimport type { HandleSnapRequest } from '@metamask/snaps-controllers';\n\nimport {\n createSnapPublicKeyRequest,\n createSnapSignMessageRequest,\n} from './auth-snap-requests';\nimport {\n createLoginRawMessage,\n getAccessToken,\n getNonce,\n login,\n} from './services';\n\nconst THIRTY_MIN_MS = 1000 * 60 * 30;\n\nconst controllerName = 'AuthenticationController';\n\n// State\ntype SessionProfile = {\n identifierId: string;\n profileId: string;\n};\n\ntype SessionData = {\n /** profile - anonymous profile data for the given logged in user */\n profile: SessionProfile;\n /** accessToken - used to make requests authorized endpoints */\n accessToken: string;\n /** expiresIn - string date to determine if new access token is required */\n expiresIn: string;\n};\n\ntype MetaMetricsAuth = {\n getMetaMetricsId: () => string | Promise<string>;\n agent: 'extension' | 'mobile';\n};\n\nexport type AuthenticationControllerState = {\n /**\n * Global isSignedIn state.\n * Can be used to determine if \"Profile Syncing\" is enabled.\n */\n isSignedIn: boolean;\n sessionData?: SessionData;\n};\nexport const defaultState: AuthenticationControllerState = {\n isSignedIn: false,\n};\nconst metadata: StateMetadata<AuthenticationControllerState> = {\n isSignedIn: {\n persist: true,\n anonymous: true,\n },\n sessionData: {\n persist: true,\n anonymous: false,\n },\n};\n\n// Messenger Actions\ntype CreateActionsObj<Controller extends keyof AuthenticationController> = {\n [K in Controller]: {\n type: `${typeof controllerName}:${K}`;\n handler: AuthenticationController[K];\n };\n};\ntype ActionsObj = CreateActionsObj<\n | 'performSignIn'\n | 'performSignOut'\n | 'getBearerToken'\n | 'getSessionProfile'\n | 'isSignedIn'\n>;\nexport type Actions =\n | ActionsObj[keyof ActionsObj]\n | AuthenticationControllerGetStateAction;\nexport type AuthenticationControllerGetStateAction = ControllerGetStateAction<\n typeof controllerName,\n AuthenticationControllerState\n>;\nexport type AuthenticationControllerPerformSignIn = ActionsObj['performSignIn'];\nexport type AuthenticationControllerPerformSignOut =\n ActionsObj['performSignOut'];\nexport type AuthenticationControllerGetBearerToken =\n ActionsObj['getBearerToken'];\nexport type AuthenticationControllerGetSessionProfile =\n ActionsObj['getSessionProfile'];\nexport type AuthenticationControllerIsSignedIn = ActionsObj['isSignedIn'];\n\nexport type AuthenticationControllerStateChangeEvent =\n ControllerStateChangeEvent<\n typeof controllerName,\n AuthenticationControllerState\n >;\n\nexport type Events = AuthenticationControllerStateChangeEvent;\n\n// Allowed Actions\nexport type AllowedActions =\n | HandleSnapRequest\n | KeyringControllerGetStateAction;\n\nexport type AllowedEvents =\n | KeyringControllerLockEvent\n | KeyringControllerUnlockEvent;\n\n// Messenger\nexport type AuthenticationControllerMessenger = RestrictedControllerMessenger<\n typeof controllerName,\n Actions | AllowedActions,\n Events | AllowedEvents,\n AllowedActions['type'],\n AllowedEvents['type']\n>;\n\n/**\n * Controller that enables authentication for restricted endpoints.\n * Used for Global Profile Syncing and Notifications\n */\nexport default class AuthenticationController extends BaseController<\n typeof controllerName,\n AuthenticationControllerState,\n AuthenticationControllerMessenger\n> {\n #metametrics: MetaMetricsAuth;\n\n #isUnlocked = false;\n\n #keyringController = {\n setupLockedStateSubscriptions: () => {\n const { isUnlocked } = this.messagingSystem.call(\n 'KeyringController:getState',\n );\n this.#isUnlocked = isUnlocked;\n\n this.messagingSystem.subscribe('KeyringController:unlock', () => {\n this.#isUnlocked = true;\n });\n\n this.messagingSystem.subscribe('KeyringController:lock', () => {\n this.#isUnlocked = false;\n });\n },\n };\n\n constructor({\n messenger,\n state,\n metametrics,\n }: {\n messenger: AuthenticationControllerMessenger;\n state?: AuthenticationControllerState;\n /**\n * Not using the Messaging System as we\n * do not want to tie this strictly to extension\n */\n metametrics: MetaMetricsAuth;\n }) {\n super({\n messenger,\n metadata,\n name: controllerName,\n state: { ...defaultState, ...state },\n });\n\n if (!metametrics) {\n throw new Error('`metametrics` field is required');\n }\n\n this.#metametrics = metametrics;\n\n this.#keyringController.setupLockedStateSubscriptions();\n this.#registerMessageHandlers();\n }\n\n /**\n * Constructor helper for registering this controller's messaging system\n * actions.\n */\n #registerMessageHandlers(): void {\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getBearerToken',\n this.getBearerToken.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:getSessionProfile',\n this.getSessionProfile.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:isSignedIn',\n this.isSignedIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignIn',\n this.performSignIn.bind(this),\n );\n\n this.messagingSystem.registerActionHandler(\n 'AuthenticationController:performSignOut',\n this.performSignOut.bind(this),\n );\n }\n\n public async performSignIn(): Promise<string> {\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n public performSignOut(): void {\n this.#assertLoggedIn();\n\n this.update((state) => {\n state.isSignedIn = false;\n state.sessionData = undefined;\n });\n }\n\n public async getBearerToken(): Promise<string> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.accessToken;\n }\n\n const { accessToken } = await this.#performAuthenticationFlow();\n return accessToken;\n }\n\n /**\n * Will return a session profile.\n * Throws if a user is not logged in.\n *\n * @returns profile for the session.\n */\n public async getSessionProfile(): Promise<SessionProfile> {\n this.#assertLoggedIn();\n\n if (this.#hasValidSession(this.state.sessionData)) {\n return this.state.sessionData.profile;\n }\n\n const { profile } = await this.#performAuthenticationFlow();\n return profile;\n }\n\n public isSignedIn(): boolean {\n return this.state.isSignedIn;\n }\n\n #assertLoggedIn(): void {\n if (!this.state.isSignedIn) {\n throw new Error(\n `${controllerName}: Unable to call method, user is not authenticated`,\n );\n }\n }\n\n async #performAuthenticationFlow(): Promise<{\n profile: SessionProfile;\n accessToken: string;\n }> {\n try {\n // 1. Nonce\n const publicKey = await this.#snapGetPublicKey();\n const nonce = await getNonce(publicKey);\n if (!nonce) {\n throw new Error(`Unable to get nonce`);\n }\n\n // 2. Login\n const rawMessage = createLoginRawMessage(nonce, publicKey);\n const signature = await this.#snapSignMessage(rawMessage);\n const loginResponse = await login(rawMessage, signature, {\n metametricsId: await this.#metametrics.getMetaMetricsId(),\n agent: this.#metametrics.agent,\n });\n if (!loginResponse?.token) {\n throw new Error(`Unable to login`);\n }\n\n const profile: SessionProfile = {\n identifierId: loginResponse.profile.identifier_id,\n profileId: loginResponse.profile.profile_id,\n };\n\n // 3. Trade for Access Token\n const accessToken = await getAccessToken(\n loginResponse.token,\n this.#metametrics.agent,\n );\n if (!accessToken) {\n throw new Error(`Unable to get Access Token`);\n }\n\n // Update Internal State\n this.update((state) => {\n state.isSignedIn = true;\n const expiresIn = new Date();\n expiresIn.setTime(expiresIn.getTime() + THIRTY_MIN_MS);\n state.sessionData = {\n profile,\n accessToken,\n expiresIn: expiresIn.toString(),\n };\n });\n\n return {\n profile,\n accessToken,\n };\n } catch (e) {\n console.error('Failed to authenticate', e);\n const errorMessage =\n e instanceof Error ? e.message : JSON.stringify(e ?? '');\n throw new Error(\n `${controllerName}: Failed to authenticate - ${errorMessage}`,\n );\n }\n }\n\n #hasValidSession(\n sessionData: SessionData | undefined,\n ): sessionData is SessionData {\n if (!sessionData) {\n return false;\n }\n\n const prevDate = Date.parse(sessionData.expiresIn);\n if (isNaN(prevDate)) {\n return false;\n }\n\n const currentDate = new Date();\n const diffMs = Math.abs(currentDate.getTime() - prevDate);\n\n return THIRTY_MIN_MS > diffMs;\n }\n\n #_snapPublicKeyCache: string | undefined;\n\n /**\n * Returns the auth snap public key.\n *\n * @returns The snap public key.\n */\n async #snapGetPublicKey(): Promise<string> {\n if (this.#_snapPublicKeyCache) {\n return this.#_snapPublicKeyCache;\n }\n\n if (!this.#isUnlocked) {\n throw new Error(\n '#snapGetPublicKey - unable to call snap, wallet is locked',\n );\n }\n\n const result = (await this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapPublicKeyRequest(),\n )) as string;\n\n this.#_snapPublicKeyCache = result;\n\n return result;\n }\n\n #_snapSignMessageCache: Record<`metamask:${string}`, string> = {};\n\n /**\n * Signs a specific message using an underlying auth snap.\n *\n * @param message - A specific tagged message to sign.\n * @returns A Signature created by the snap.\n */\n async #snapSignMessage(message: `metamask:${string}`): Promise<string> {\n if (this.#_snapSignMessageCache[message]) {\n return this.#_snapSignMessageCache[message];\n }\n\n if (!this.#isUnlocked) {\n throw new Error(\n '#snapSignMessage - unable to call snap, wallet is locked',\n );\n }\n\n const result = (await this.messagingSystem.call(\n 'SnapController:handleRequest',\n createSnapSignMessageRequest(message),\n )) as string;\n\n this.#_snapSignMessageCache[message] = result;\n\n return result;\n }\n}\n"]}
@@ -1,7 +1,7 @@
1
- import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedControllerMessenger } from '@metamask/base-controller';
2
- import { BaseController } from '@metamask/base-controller';
3
- import type { KeyringControllerGetStateAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from '@metamask/keyring-controller';
4
- import type { HandleSnapRequest } from '@metamask/snaps-controllers';
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedControllerMessenger } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { KeyringControllerGetStateAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
4
+ import type { HandleSnapRequest } from "@metamask/snaps-controllers";
5
5
  declare const controllerName = "AuthenticationController";
6
6
  type SessionProfile = {
7
7
  identifierId: string;
@@ -75,4 +75,4 @@ export default class AuthenticationController extends BaseController<typeof cont
75
75
  isSignedIn(): boolean;
76
76
  }
77
77
  export {};
78
- //# sourceMappingURL=AuthenticationController.d.ts.map
78
+ //# sourceMappingURL=AuthenticationController.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationController.d.cts","sourceRoot":"","sources":["../../../src/controllers/authentication/AuthenticationController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAE9B,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,KAAK,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC7B,qCAAqC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oCAAoC;AAerE,QAAA,MAAM,cAAc,6BAA6B,CAAC;AAGlD,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,oEAAoE;IACpE,OAAO,EAAE,cAAc,CAAC;IACxB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,gBAAgB,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AACF,eAAO,MAAM,YAAY,EAAE,6BAE1B,CAAC;AAaF,KAAK,gBAAgB,CAAC,UAAU,SAAS,MAAM,wBAAwB,IAAI;KACxE,CAAC,IAAI,UAAU,GAAG;QACjB,IAAI,EAAE,GAAG,OAAO,cAAc,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC;KACtC;CACF,CAAC;AACF,KAAK,UAAU,GAAG,gBAAgB,CAC9B,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,YAAY,CACf,CAAC;AACF,MAAM,MAAM,OAAO,GACf,UAAU,CAAC,MAAM,UAAU,CAAC,GAC5B,sCAAsC,CAAC;AAC3C,MAAM,MAAM,sCAAsC,GAAG,wBAAwB,CAC3E,OAAO,cAAc,EACrB,6BAA6B,CAC9B,CAAC;AACF,MAAM,MAAM,qCAAqC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAChF,MAAM,MAAM,sCAAsC,GAChD,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC/B,MAAM,MAAM,sCAAsC,GAChD,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC/B,MAAM,MAAM,yCAAyC,GACnD,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClC,MAAM,MAAM,kCAAkC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAE1E,MAAM,MAAM,wCAAwC,GAClD,0BAA0B,CACxB,OAAO,cAAc,EACrB,6BAA6B,CAC9B,CAAC;AAEJ,MAAM,MAAM,MAAM,GAAG,wCAAwC,CAAC;AAG9D,MAAM,MAAM,cAAc,GACtB,iBAAiB,GACjB,+BAA+B,CAAC;AAEpC,MAAM,MAAM,aAAa,GACrB,0BAA0B,GAC1B,4BAA4B,CAAC;AAGjC,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,CAC3E,OAAO,cAAc,EACrB,OAAO,GAAG,cAAc,EACxB,MAAM,GAAG,aAAa,EACtB,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,wBAAyB,SAAQ,cAAc,CAClE,OAAO,cAAc,EACrB,6BAA6B,EAC7B,iCAAiC,CAClC;;gBAsBa,EACV,SAAS,EACT,KAAK,EACL,WAAW,GACZ,EAAE;QACD,SAAS,EAAE,iCAAiC,CAAC;QAC7C,KAAK,CAAC,EAAE,6BAA6B,CAAC;QACtC;;;WAGG;QACH,WAAW,EAAE,eAAe,CAAC;KAC9B;IAiDY,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC,cAAc,IAAI,IAAI;IAShB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAW9C;;;;;OAKG;IACU,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAWlD,UAAU,IAAI,OAAO;CAqJ7B"}
@@ -0,0 +1,78 @@
1
+ import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedControllerMessenger } from "@metamask/base-controller";
2
+ import { BaseController } from "@metamask/base-controller";
3
+ import type { KeyringControllerGetStateAction, KeyringControllerLockEvent, KeyringControllerUnlockEvent } from "@metamask/keyring-controller";
4
+ import type { HandleSnapRequest } from "@metamask/snaps-controllers";
5
+ declare const controllerName = "AuthenticationController";
6
+ type SessionProfile = {
7
+ identifierId: string;
8
+ profileId: string;
9
+ };
10
+ type SessionData = {
11
+ /** profile - anonymous profile data for the given logged in user */
12
+ profile: SessionProfile;
13
+ /** accessToken - used to make requests authorized endpoints */
14
+ accessToken: string;
15
+ /** expiresIn - string date to determine if new access token is required */
16
+ expiresIn: string;
17
+ };
18
+ type MetaMetricsAuth = {
19
+ getMetaMetricsId: () => string | Promise<string>;
20
+ agent: 'extension' | 'mobile';
21
+ };
22
+ export type AuthenticationControllerState = {
23
+ /**
24
+ * Global isSignedIn state.
25
+ * Can be used to determine if "Profile Syncing" is enabled.
26
+ */
27
+ isSignedIn: boolean;
28
+ sessionData?: SessionData;
29
+ };
30
+ export declare const defaultState: AuthenticationControllerState;
31
+ type CreateActionsObj<Controller extends keyof AuthenticationController> = {
32
+ [K in Controller]: {
33
+ type: `${typeof controllerName}:${K}`;
34
+ handler: AuthenticationController[K];
35
+ };
36
+ };
37
+ type ActionsObj = CreateActionsObj<'performSignIn' | 'performSignOut' | 'getBearerToken' | 'getSessionProfile' | 'isSignedIn'>;
38
+ export type Actions = ActionsObj[keyof ActionsObj] | AuthenticationControllerGetStateAction;
39
+ export type AuthenticationControllerGetStateAction = ControllerGetStateAction<typeof controllerName, AuthenticationControllerState>;
40
+ export type AuthenticationControllerPerformSignIn = ActionsObj['performSignIn'];
41
+ export type AuthenticationControllerPerformSignOut = ActionsObj['performSignOut'];
42
+ export type AuthenticationControllerGetBearerToken = ActionsObj['getBearerToken'];
43
+ export type AuthenticationControllerGetSessionProfile = ActionsObj['getSessionProfile'];
44
+ export type AuthenticationControllerIsSignedIn = ActionsObj['isSignedIn'];
45
+ export type AuthenticationControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, AuthenticationControllerState>;
46
+ export type Events = AuthenticationControllerStateChangeEvent;
47
+ export type AllowedActions = HandleSnapRequest | KeyringControllerGetStateAction;
48
+ export type AllowedEvents = KeyringControllerLockEvent | KeyringControllerUnlockEvent;
49
+ export type AuthenticationControllerMessenger = RestrictedControllerMessenger<typeof controllerName, Actions | AllowedActions, Events | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
50
+ /**
51
+ * Controller that enables authentication for restricted endpoints.
52
+ * Used for Global Profile Syncing and Notifications
53
+ */
54
+ export default class AuthenticationController extends BaseController<typeof controllerName, AuthenticationControllerState, AuthenticationControllerMessenger> {
55
+ #private;
56
+ constructor({ messenger, state, metametrics, }: {
57
+ messenger: AuthenticationControllerMessenger;
58
+ state?: AuthenticationControllerState;
59
+ /**
60
+ * Not using the Messaging System as we
61
+ * do not want to tie this strictly to extension
62
+ */
63
+ metametrics: MetaMetricsAuth;
64
+ });
65
+ performSignIn(): Promise<string>;
66
+ performSignOut(): void;
67
+ getBearerToken(): Promise<string>;
68
+ /**
69
+ * Will return a session profile.
70
+ * Throws if a user is not logged in.
71
+ *
72
+ * @returns profile for the session.
73
+ */
74
+ getSessionProfile(): Promise<SessionProfile>;
75
+ isSignedIn(): boolean;
76
+ }
77
+ export {};
78
+ //# sourceMappingURL=AuthenticationController.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationController.d.mts","sourceRoot":"","sources":["../../../src/controllers/authentication/AuthenticationController.ts"],"names":[],"mappings":"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"}