@metamask/profile-sync-controller 8.1.1 → 9.0.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 (169) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/README.md +32 -0
  3. package/auth/mocks/package.json +2 -2
  4. package/dist/controllers/authentication/index.cjs +1 -1
  5. package/dist/controllers/authentication/index.cjs.map +1 -1
  6. package/dist/controllers/authentication/index.d.cts +1 -1
  7. package/dist/controllers/authentication/index.d.cts.map +1 -1
  8. package/dist/controllers/authentication/index.d.mts +1 -1
  9. package/dist/controllers/authentication/index.d.mts.map +1 -1
  10. package/dist/controllers/authentication/index.mjs +1 -1
  11. package/dist/controllers/authentication/index.mjs.map +1 -1
  12. package/dist/controllers/authentication/mocks/index.cjs.map +1 -0
  13. package/dist/controllers/authentication/mocks/index.d.cts.map +1 -0
  14. package/dist/controllers/authentication/mocks/index.d.mts.map +1 -0
  15. package/dist/controllers/authentication/mocks/index.mjs.map +1 -0
  16. package/dist/controllers/authentication/mocks/mockResponses.cjs.map +1 -0
  17. package/dist/controllers/authentication/mocks/mockResponses.d.cts.map +1 -0
  18. package/dist/controllers/authentication/mocks/mockResponses.d.mts.map +1 -0
  19. package/dist/controllers/authentication/mocks/mockResponses.mjs.map +1 -0
  20. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs +1 -1
  21. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs.map +1 -1
  22. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs +1 -1
  23. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs.map +1 -1
  24. package/dist/controllers/user-storage/account-syncing/utils.cjs +2 -2
  25. package/dist/controllers/user-storage/account-syncing/utils.cjs.map +1 -1
  26. package/dist/controllers/user-storage/account-syncing/utils.mjs +2 -2
  27. package/dist/controllers/user-storage/account-syncing/utils.mjs.map +1 -1
  28. package/dist/controllers/user-storage/index.cjs +1 -1
  29. package/dist/controllers/user-storage/index.cjs.map +1 -1
  30. package/dist/controllers/user-storage/index.d.cts +1 -1
  31. package/dist/controllers/user-storage/index.d.cts.map +1 -1
  32. package/dist/controllers/user-storage/index.d.mts +1 -1
  33. package/dist/controllers/user-storage/index.d.mts.map +1 -1
  34. package/dist/controllers/user-storage/index.mjs +1 -1
  35. package/dist/controllers/user-storage/index.mjs.map +1 -1
  36. package/dist/controllers/user-storage/mocks/index.cjs.map +1 -0
  37. package/dist/controllers/user-storage/mocks/index.d.cts.map +1 -0
  38. package/dist/controllers/user-storage/mocks/index.d.mts.map +1 -0
  39. package/dist/controllers/user-storage/mocks/index.mjs.map +1 -0
  40. package/dist/controllers/user-storage/mocks/mockResponses.cjs.map +1 -0
  41. package/dist/controllers/user-storage/mocks/mockResponses.d.cts.map +1 -0
  42. package/dist/controllers/user-storage/mocks/mockResponses.d.mts.map +1 -0
  43. package/dist/controllers/user-storage/mocks/mockResponses.mjs.map +1 -0
  44. package/dist/controllers/user-storage/mocks/mockStorage.cjs.map +1 -0
  45. package/dist/controllers/user-storage/mocks/mockStorage.d.cts.map +1 -0
  46. package/dist/controllers/user-storage/mocks/mockStorage.d.mts.map +1 -0
  47. package/dist/controllers/user-storage/mocks/mockStorage.mjs.map +1 -0
  48. package/package.json +14 -14
  49. package/user-storage/mocks/package.json +2 -2
  50. package/dist/controllers/authentication/__fixtures__/index.cjs.map +0 -1
  51. package/dist/controllers/authentication/__fixtures__/index.d.cts.map +0 -1
  52. package/dist/controllers/authentication/__fixtures__/index.d.mts.map +0 -1
  53. package/dist/controllers/authentication/__fixtures__/index.mjs.map +0 -1
  54. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs.map +0 -1
  55. package/dist/controllers/authentication/__fixtures__/mockResponses.d.cts.map +0 -1
  56. package/dist/controllers/authentication/__fixtures__/mockResponses.d.mts.map +0 -1
  57. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs.map +0 -1
  58. package/dist/controllers/authentication/__fixtures__/mockServices.cjs +0 -37
  59. package/dist/controllers/authentication/__fixtures__/mockServices.cjs.map +0 -1
  60. package/dist/controllers/authentication/__fixtures__/mockServices.d.cts +0 -10
  61. package/dist/controllers/authentication/__fixtures__/mockServices.d.cts.map +0 -1
  62. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts +0 -10
  63. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts.map +0 -1
  64. package/dist/controllers/authentication/__fixtures__/mockServices.mjs +0 -35
  65. package/dist/controllers/authentication/__fixtures__/mockServices.mjs.map +0 -1
  66. package/dist/controllers/user-storage/__fixtures__/index.cjs.map +0 -1
  67. package/dist/controllers/user-storage/__fixtures__/index.d.cts.map +0 -1
  68. package/dist/controllers/user-storage/__fixtures__/index.d.mts.map +0 -1
  69. package/dist/controllers/user-storage/__fixtures__/index.mjs.map +0 -1
  70. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs +0 -167
  71. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs.map +0 -1
  72. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts +0 -105
  73. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts.map +0 -1
  74. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts +0 -105
  75. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts.map +0 -1
  76. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs +0 -162
  77. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs.map +0 -1
  78. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs.map +0 -1
  79. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.cts.map +0 -1
  80. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts.map +0 -1
  81. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs.map +0 -1
  82. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs +0 -82
  83. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs.map +0 -1
  84. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts +0 -15
  85. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts.map +0 -1
  86. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts +0 -15
  87. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts.map +0 -1
  88. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs +0 -76
  89. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs.map +0 -1
  90. package/dist/controllers/user-storage/__fixtures__/mockStorage.cjs.map +0 -1
  91. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.cts.map +0 -1
  92. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.mts.map +0 -1
  93. package/dist/controllers/user-storage/__fixtures__/mockStorage.mjs.map +0 -1
  94. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs +0 -78
  95. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs.map +0 -1
  96. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts +0 -38
  97. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts.map +0 -1
  98. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts +0 -38
  99. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts.map +0 -1
  100. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs +0 -68
  101. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs.map +0 -1
  102. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs +0 -178
  103. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs.map +0 -1
  104. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts +0 -91
  105. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts.map +0 -1
  106. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts +0 -91
  107. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts.map +0 -1
  108. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs +0 -174
  109. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs.map +0 -1
  110. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs +0 -58
  111. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs.map +0 -1
  112. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts +0 -87
  113. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts.map +0 -1
  114. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts +0 -87
  115. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts.map +0 -1
  116. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs +0 -52
  117. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs.map +0 -1
  118. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs +0 -43
  119. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs.map +0 -1
  120. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts +0 -11
  121. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts.map +0 -1
  122. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts +0 -11
  123. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts.map +0 -1
  124. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs +0 -36
  125. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs.map +0 -1
  126. package/dist/sdk/__fixtures__/mock-auth.cjs +0 -124
  127. package/dist/sdk/__fixtures__/mock-auth.cjs.map +0 -1
  128. package/dist/sdk/__fixtures__/mock-auth.d.cts +0 -42
  129. package/dist/sdk/__fixtures__/mock-auth.d.cts.map +0 -1
  130. package/dist/sdk/__fixtures__/mock-auth.d.mts +0 -42
  131. package/dist/sdk/__fixtures__/mock-auth.d.mts.map +0 -1
  132. package/dist/sdk/__fixtures__/mock-auth.mjs +0 -119
  133. package/dist/sdk/__fixtures__/mock-auth.mjs.map +0 -1
  134. package/dist/sdk/__fixtures__/mock-userstorage.cjs +0 -111
  135. package/dist/sdk/__fixtures__/mock-userstorage.cjs.map +0 -1
  136. package/dist/sdk/__fixtures__/mock-userstorage.d.cts +0 -20
  137. package/dist/sdk/__fixtures__/mock-userstorage.d.cts.map +0 -1
  138. package/dist/sdk/__fixtures__/mock-userstorage.d.mts +0 -20
  139. package/dist/sdk/__fixtures__/mock-userstorage.d.mts.map +0 -1
  140. package/dist/sdk/__fixtures__/mock-userstorage.mjs +0 -81
  141. package/dist/sdk/__fixtures__/mock-userstorage.mjs.map +0 -1
  142. package/dist/sdk/__fixtures__/test-utils.cjs +0 -90
  143. package/dist/sdk/__fixtures__/test-utils.cjs.map +0 -1
  144. package/dist/sdk/__fixtures__/test-utils.d.cts +0 -37
  145. package/dist/sdk/__fixtures__/test-utils.d.cts.map +0 -1
  146. package/dist/sdk/__fixtures__/test-utils.d.mts +0 -37
  147. package/dist/sdk/__fixtures__/test-utils.d.mts.map +0 -1
  148. package/dist/sdk/__fixtures__/test-utils.mjs +0 -84
  149. package/dist/sdk/__fixtures__/test-utils.mjs.map +0 -1
  150. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.cjs +0 -0
  151. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.d.cts +0 -0
  152. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.d.mts +0 -0
  153. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.mjs +0 -0
  154. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.cjs +0 -0
  155. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.d.cts +0 -0
  156. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.d.mts +0 -0
  157. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.mjs +0 -0
  158. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.cjs +0 -0
  159. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.d.cts +0 -0
  160. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.d.mts +0 -0
  161. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.mjs +0 -0
  162. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.cjs +0 -0
  163. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.d.cts +0 -0
  164. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.d.mts +0 -0
  165. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.mjs +0 -0
  166. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.cjs +0 -0
  167. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.d.cts +0 -0
  168. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.d.mts +0 -0
  169. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.mjs +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/index.ts"],"names":[],"mappings":"AAAA,oCAAgC;AAChC,kCAA8B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/index.ts"],"names":[],"mappings":"AAAA,oCAAgC;AAChC,kCAA8B","sourcesContent":["export * from './mockResponses';\nexport * from './mockStorage';\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockResponses.cjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockResponses.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MOCK_ENCRYPTED_STORAGE_DATA,\n MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n} from './mockStorage';\nimport type {\n UserStoragePathWithFeatureAndKey,\n UserStoragePathWithFeatureOnly,\n} from '../../../shared/storage-schema';\nimport {\n createEntryPath,\n USER_STORAGE_FEATURE_NAMES,\n} from '../../../shared/storage-schema';\nimport type {\n GetUserStorageAllFeatureEntriesResponse,\n GetUserStorageResponse,\n} from '../services';\nimport { USER_STORAGE_ENDPOINT } from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const getMockUserStorageEndpoint = (\n path: UserStoragePathWithFeatureAndKey | UserStoragePathWithFeatureOnly,\n) => {\n if (path.split('.').length === 1) {\n return `${USER_STORAGE_ENDPOINT}/${path}`;\n }\n\n return `${USER_STORAGE_ENDPOINT}/${createEntryPath(\n path as UserStoragePathWithFeatureAndKey,\n MOCK_STORAGE_KEY,\n )}`;\n};\n\n/**\n * Creates a mock GET user-storage response\n *\n * @param data - data to encrypt\n * @returns a realistic GET Response Body\n */\nexport async function createMockGetStorageResponse(\n data?: string,\n): Promise<GetUserStorageResponse> {\n return {\n HashedKey: 'HASHED_KEY',\n Data: await MOCK_ENCRYPTED_STORAGE_DATA(data),\n };\n}\n\n/**\n * Creates a mock GET ALL user-storage response\n *\n * @param dataArr - array of data to encrypt\n * @returns a realistic GET ALL Response Body\n */\nexport async function createMockAllFeatureEntriesResponse(\n dataArr: string[] = [MOCK_STORAGE_DATA],\n): Promise<GetUserStorageAllFeatureEntriesResponse> {\n const decryptedData = [];\n\n for (const data of dataArr) {\n decryptedData.push({\n HashedKey: 'HASHED_KEY',\n Data: await MOCK_ENCRYPTED_STORAGE_DATA(data),\n });\n }\n\n return decryptedData;\n}\n\n/**\n * Creates a mock user-storage api GET request\n *\n * @param path - path of the GET Url\n * @returns mock GET API request. Can be used by e2e or unit mock servers\n */\nexport async function getMockUserStorageGetResponse(\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'GET',\n response: await createMockGetStorageResponse(),\n } satisfies MockResponse;\n}\n\n/**\n * Creates a mock user-storage api GET ALL request\n *\n * @param path - path of the GET url\n * @param dataArr - data to encrypt\n * @returns mock GET ALL API request. Can be used by e2e or unit mock servers\n */\nexport async function getMockUserStorageAllFeatureEntriesResponse(\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n dataArr?: string[],\n) {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'GET',\n response: await createMockAllFeatureEntriesResponse(dataArr),\n } satisfies MockResponse;\n}\n\nexport const getMockUserStoragePutResponse = (\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStorageBatchPutResponse = (\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStorageBatchDeleteResponse = (\n path: UserStoragePathWithFeatureOnly = 'notifications',\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const deleteMockUserStorageResponse = (\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const deleteMockUserStorageAllFeatureEntriesResponse = (\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockResponses.d.cts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockResponses.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gCAAgC,EAChC,8BAA8B,EAC/B,2CAAuC;AAKxC,OAAO,KAAK,EACV,uCAAuC,EACvC,sBAAsB,EACvB,wBAAoB;AASrB,eAAO,MAAM,0BAA0B,SAC/B,gCAAgC,GAAG,8BAA8B,WAUxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAKjC;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,OAAO,GAAE,MAAM,EAAwB,GACtC,OAAO,CAAC,uCAAuC,CAAC,CAWlD;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,GAAE,gCAAsG;;;;GAO7G;AAED;;;;;;GAMG;AACH,wBAAsB,2CAA2C,CAC/D,IAAI,GAAE,8BAAyE,EAC/E,OAAO,CAAC,EAAE,MAAM,EAAE;;;;GAOnB;AAED,eAAO,MAAM,6BAA6B,UAClC,gCAAgC;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACvC,8BAA8B;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,qCAAqC,UAC1C,8BAA8B;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAClC,gCAAgC;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,8CAA8C,UACnD,8BAA8B;;;;CAOrC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockResponses.d.mts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockResponses.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gCAAgC,EAChC,8BAA8B,EAC/B,2CAAuC;AAKxC,OAAO,KAAK,EACV,uCAAuC,EACvC,sBAAsB,EACvB,wBAAoB;AASrB,eAAO,MAAM,0BAA0B,SAC/B,gCAAgC,GAAG,8BAA8B,WAUxE,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAKjC;AAED;;;;;GAKG;AACH,wBAAsB,mCAAmC,CACvD,OAAO,GAAE,MAAM,EAAwB,GACtC,OAAO,CAAC,uCAAuC,CAAC,CAWlD;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,IAAI,GAAE,gCAAsG;;;;GAO7G;AAED;;;;;;GAMG;AACH,wBAAsB,2CAA2C,CAC/D,IAAI,GAAE,8BAAyE,EAC/E,OAAO,CAAC,EAAE,MAAM,EAAE;;;;GAOnB;AAED,eAAO,MAAM,6BAA6B,UAClC,gCAAgC;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACvC,8BAA8B;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,qCAAqC,UAC1C,8BAA8B;;;;CAOrC,CAAC;AAEF,eAAO,MAAM,6BAA6B,UAClC,gCAAgC;;;;CAOvC,CAAC;AAEF,eAAO,MAAM,8CAA8C,UACnD,8BAA8B;;;;CAOrC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockResponses.mjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockResponses.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MOCK_ENCRYPTED_STORAGE_DATA,\n MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n} from './mockStorage';\nimport type {\n UserStoragePathWithFeatureAndKey,\n UserStoragePathWithFeatureOnly,\n} from '../../../shared/storage-schema';\nimport {\n createEntryPath,\n USER_STORAGE_FEATURE_NAMES,\n} from '../../../shared/storage-schema';\nimport type {\n GetUserStorageAllFeatureEntriesResponse,\n GetUserStorageResponse,\n} from '../services';\nimport { USER_STORAGE_ENDPOINT } from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT' | 'DELETE';\n response: unknown;\n};\n\nexport const getMockUserStorageEndpoint = (\n path: UserStoragePathWithFeatureAndKey | UserStoragePathWithFeatureOnly,\n) => {\n if (path.split('.').length === 1) {\n return `${USER_STORAGE_ENDPOINT}/${path}`;\n }\n\n return `${USER_STORAGE_ENDPOINT}/${createEntryPath(\n path as UserStoragePathWithFeatureAndKey,\n MOCK_STORAGE_KEY,\n )}`;\n};\n\n/**\n * Creates a mock GET user-storage response\n *\n * @param data - data to encrypt\n * @returns a realistic GET Response Body\n */\nexport async function createMockGetStorageResponse(\n data?: string,\n): Promise<GetUserStorageResponse> {\n return {\n HashedKey: 'HASHED_KEY',\n Data: await MOCK_ENCRYPTED_STORAGE_DATA(data),\n };\n}\n\n/**\n * Creates a mock GET ALL user-storage response\n *\n * @param dataArr - array of data to encrypt\n * @returns a realistic GET ALL Response Body\n */\nexport async function createMockAllFeatureEntriesResponse(\n dataArr: string[] = [MOCK_STORAGE_DATA],\n): Promise<GetUserStorageAllFeatureEntriesResponse> {\n const decryptedData = [];\n\n for (const data of dataArr) {\n decryptedData.push({\n HashedKey: 'HASHED_KEY',\n Data: await MOCK_ENCRYPTED_STORAGE_DATA(data),\n });\n }\n\n return decryptedData;\n}\n\n/**\n * Creates a mock user-storage api GET request\n *\n * @param path - path of the GET Url\n * @returns mock GET API request. Can be used by e2e or unit mock servers\n */\nexport async function getMockUserStorageGetResponse(\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'GET',\n response: await createMockGetStorageResponse(),\n } satisfies MockResponse;\n}\n\n/**\n * Creates a mock user-storage api GET ALL request\n *\n * @param path - path of the GET url\n * @param dataArr - data to encrypt\n * @returns mock GET ALL API request. Can be used by e2e or unit mock servers\n */\nexport async function getMockUserStorageAllFeatureEntriesResponse(\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n dataArr?: string[],\n) {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'GET',\n response: await createMockAllFeatureEntriesResponse(dataArr),\n } satisfies MockResponse;\n}\n\nexport const getMockUserStoragePutResponse = (\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStorageBatchPutResponse = (\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const getMockUserStorageBatchDeleteResponse = (\n path: UserStoragePathWithFeatureOnly = 'notifications',\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'PUT',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const deleteMockUserStorageResponse = (\n path: UserStoragePathWithFeatureAndKey = `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n\nexport const deleteMockUserStorageAllFeatureEntriesResponse = (\n path: UserStoragePathWithFeatureOnly = USER_STORAGE_FEATURE_NAMES.notifications,\n) => {\n return {\n url: getMockUserStorageEndpoint(path),\n requestMethod: 'DELETE',\n response: null,\n } satisfies MockResponse;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockStorage.cjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAA0E;AAE7D,QAAA,0BAA0B,GAAG,gBAAgB,CAAC;AAC9C,QAAA,gBAAgB,GAAG,IAAA,6BAAgB,EAAC,kCAA0B,CAAC,CAAC;AAChE,QAAA,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAEpE,sFAAsF;AACtF,kHAAkH;AAClH,IAAI,uBAA+B,CAAC;AAC7B,MAAM,2BAA2B,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE,CACjE,CAAC,uBAAuB,KAAvB,uBAAuB,GAAK,MAAM,oBAAU,CAAC,aAAa,CACzD,IAAI,IAAI,yBAAiB,EACzB,wBAAgB,CACjB,EAAC,CAAC;AAJQ,QAAA,2BAA2B,+BAInC","sourcesContent":["import encryption, { createSHA256Hash } from '../../../shared/encryption';\n\nexport const MOCK_STORAGE_KEY_SIGNATURE = 'mockStorageKey';\nexport const MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);\nexport const MOCK_STORAGE_DATA = JSON.stringify({ hello: 'world' });\n\n// NOTE - using encryption.encryptString directly in fixtures causes issues on mobile.\n// This is because this fixture is getting added in at run time. Will be improved once we support multiple exports\nlet cachedMockEncryptedData: string;\nexport const MOCK_ENCRYPTED_STORAGE_DATA = async (data?: string) =>\n (cachedMockEncryptedData ??= await encryption.encryptString(\n data ?? MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n ));\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockStorage.d.cts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockStorage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,mBAAmB,CAAC;AAC3D,eAAO,MAAM,gBAAgB,QAA+C,CAAC;AAC7E,eAAO,MAAM,iBAAiB,QAAqC,CAAC;AAKpE,eAAO,MAAM,2BAA2B,UAAiB,MAAM,oBAI3D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockStorage.d.mts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockStorage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,0BAA0B,mBAAmB,CAAC;AAC3D,eAAO,MAAM,gBAAgB,QAA+C,CAAC;AAC7E,eAAO,MAAM,iBAAiB,QAAqC,CAAC;AAKpE,eAAO,MAAM,2BAA2B,UAAiB,MAAM,oBAI3D,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockStorage.mjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/mocks/mockStorage.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,6CAAmC;AAE1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAEpE,sFAAsF;AACtF,kHAAkH;AAClH,IAAI,uBAA+B,CAAC;AACpC,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE,CACjE,CAAC,uBAAuB,KAAvB,uBAAuB,GAAK,MAAM,UAAU,CAAC,aAAa,CACzD,IAAI,IAAI,iBAAiB,EACzB,gBAAgB,CACjB,EAAC,CAAC","sourcesContent":["import encryption, { createSHA256Hash } from '../../../shared/encryption';\n\nexport const MOCK_STORAGE_KEY_SIGNATURE = 'mockStorageKey';\nexport const MOCK_STORAGE_KEY = createSHA256Hash(MOCK_STORAGE_KEY_SIGNATURE);\nexport const MOCK_STORAGE_DATA = JSON.stringify({ hello: 'world' });\n\n// NOTE - using encryption.encryptString directly in fixtures causes issues on mobile.\n// This is because this fixture is getting added in at run time. Will be improved once we support multiple exports\nlet cachedMockEncryptedData: string;\nexport const MOCK_ENCRYPTED_STORAGE_DATA = async (data?: string) =>\n (cachedMockEncryptedData ??= await encryption.encryptString(\n data ?? MOCK_STORAGE_DATA,\n MOCK_STORAGE_KEY,\n ));\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metamask/profile-sync-controller",
3
- "version": "8.1.1",
3
+ "version": "9.0.0",
4
4
  "description": "The profile sync helps developers synchronize data across multiple clients and devices in a privacy-preserving way. All data saved in the user storage database is encrypted client-side to preserve privacy. The user storage provides a modular design, giving developers the flexibility to construct and manage their storage spaces in a way that best suits their needs",
5
5
  "keywords": [
6
6
  "MetaMask",
@@ -49,12 +49,12 @@
49
49
  },
50
50
  "./auth/mocks": {
51
51
  "import": {
52
- "types": "./dist/controllers/authentication/__fixtures__/index.d.mts",
53
- "default": "./dist/controllers/authentication/__fixtures__/index.mjs"
52
+ "types": "./dist/controllers/authentication/mocks/index.d.mts",
53
+ "default": "./dist/controllers/authentication/mocks/index.mjs"
54
54
  },
55
55
  "require": {
56
- "types": "./dist/controllers/authentication/__fixtures__/index.d.cts",
57
- "default": "./dist/controllers/authentication/__fixtures__/index.cjs"
56
+ "types": "./dist/controllers/authentication/mocks/index.d.cts",
57
+ "default": "./dist/controllers/authentication/mocks/index.cjs"
58
58
  }
59
59
  },
60
60
  "./user-storage": {
@@ -69,12 +69,12 @@
69
69
  },
70
70
  "./user-storage/mocks": {
71
71
  "import": {
72
- "types": "./dist/controllers/user-storage/__fixtures__/index.d.mts",
73
- "default": "./dist/controllers/user-storage/__fixtures__/index.mjs"
72
+ "types": "./dist/controllers/user-storage/mocks/index.d.mts",
73
+ "default": "./dist/controllers/user-storage/mocks/index.mjs"
74
74
  },
75
75
  "require": {
76
- "types": "./dist/controllers/user-storage/__fixtures__/index.d.cts",
77
- "default": "./dist/controllers/user-storage/__fixtures__/index.cjs"
76
+ "types": "./dist/controllers/user-storage/mocks/index.d.cts",
77
+ "default": "./dist/controllers/user-storage/mocks/index.cjs"
78
78
  }
79
79
  },
80
80
  "./package.json": "./package.json"
@@ -102,7 +102,7 @@
102
102
  "dependencies": {
103
103
  "@metamask/base-controller": "^8.0.0",
104
104
  "@metamask/keyring-api": "^17.2.0",
105
- "@metamask/keyring-controller": "^19.2.1",
105
+ "@metamask/keyring-controller": "^20.0.0",
106
106
  "@metamask/network-controller": "^22.2.1",
107
107
  "@metamask/snaps-sdk": "^6.17.1",
108
108
  "@metamask/snaps-utils": "^8.10.0",
@@ -115,9 +115,9 @@
115
115
  "devDependencies": {
116
116
  "@lavamoat/allow-scripts": "^3.0.4",
117
117
  "@lavamoat/preinstall-always-fail": "^2.1.0",
118
- "@metamask/accounts-controller": "^24.0.1",
118
+ "@metamask/accounts-controller": "^25.0.0",
119
119
  "@metamask/auto-changelog": "^3.4.4",
120
- "@metamask/keyring-internal-api": "^4.0.3",
120
+ "@metamask/keyring-internal-api": "^5.0.0",
121
121
  "@metamask/providers": "^18.1.1",
122
122
  "@metamask/snaps-controllers": "^9.19.0",
123
123
  "@types/jest": "^27.4.1",
@@ -133,8 +133,8 @@
133
133
  "webextension-polyfill": "^0.12.0"
134
134
  },
135
135
  "peerDependencies": {
136
- "@metamask/accounts-controller": "^24.0.0",
137
- "@metamask/keyring-controller": "^19.0.0",
136
+ "@metamask/accounts-controller": "^25.0.0",
137
+ "@metamask/keyring-controller": "^20.0.0",
138
138
  "@metamask/network-controller": "^22.0.0",
139
139
  "@metamask/providers": "^18.1.0",
140
140
  "@metamask/snaps-controllers": "^9.19.0",
@@ -4,6 +4,6 @@
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
- "main": "../../dist/controllers/user-storage/__fixtures__/index.cjs",
8
- "types": "../../dist/types/controllers/user-storage/__fixtures__/index.d.cts"
7
+ "main": "../../dist/controllers/user-storage/mocks/index.cjs",
8
+ "types": "../../dist/types/controllers/user-storage/mocks/index.d.cts"
9
9
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAgC","sourcesContent":["export * from './mockResponses';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC","sourcesContent":["export * from './mockResponses';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockResponses.cjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockResponses.ts"],"names":[],"mappings":";;;AAKA,8CAIqB;AAQR,QAAA,UAAU,GAAG,mBAAmB,CAAC;AACjC,QAAA,mBAAmB,GAAkB;IAChD,KAAK,EAAE,kBAAU;CAClB,CAAC;AAEK,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,GAAG,EAAE,8BAAmB;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,2BAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,wBAAwB,4BAMnC;AAEW,QAAA,QAAQ,GACnB,6JAA6J,CAAC;AACnJ,QAAA,mBAAmB,GAAkB;IAChD,KAAK,EAAE,gBAAQ;IACf,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACP,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,iBAAiB;KAC9B;CACF,CAAC;AAEK,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,GAAG,EAAE,8BAAmB;QACxB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,2BAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,wBAAwB,4BAMnC;AAEW,QAAA,iBAAiB,GAAG,qBAAqB,gBAAQ,EAAE,CAAC;AACpD,QAAA,wBAAwB,GAAuB;IAC1D,YAAY,EAAE,yBAAiB;IAE/B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;CACjC,CAAC;AAEK,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,OAAO;QACL,GAAG,EAAE,+BAAoB;QACzB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,gCAAwB;KACZ,CAAC;AAC3B,CAAC,CAAC;AANW,QAAA,8BAA8B,kCAMzC","sourcesContent":["import type {\n LoginResponse,\n NonceResponse,\n OAuthTokenResponse,\n} from '../services';\nimport {\n AUTH_LOGIN_ENDPOINT,\n AUTH_NONCE_ENDPOINT,\n OIDC_TOKENS_ENDPOINT,\n} from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_NONCE = '4cbfqzoQpcNxVImGv';\nexport const MOCK_NONCE_RESPONSE: NonceResponse = {\n nonce: MOCK_NONCE,\n};\n\nexport const getMockAuthNonceResponse = () => {\n return {\n url: AUTH_NONCE_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_NONCE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\nexport const MOCK_LOGIN_RESPONSE: LoginResponse = {\n token: MOCK_JWT,\n expires_in: new Date().toString(),\n profile: {\n identifier_id: 'MOCK_IDENTIFIER',\n profile_id: 'MOCK_PROFILE_ID',\n },\n};\n\nexport const getMockAuthLoginResponse = () => {\n return {\n url: AUTH_LOGIN_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_LOGIN_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_ACCESS_TOKEN = `MOCK_ACCESS_TOKEN-${MOCK_JWT}`;\nexport const MOCK_OATH_TOKEN_RESPONSE: OAuthTokenResponse = {\n access_token: MOCK_ACCESS_TOKEN,\n\n expires_in: new Date().getTime(),\n};\n\nexport const getMockAuthAccessTokenResponse = () => {\n return {\n url: OIDC_TOKENS_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_OATH_TOKEN_RESPONSE,\n } satisfies MockResponse;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockResponses.d.cts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockResponses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EACnB,wBAAoB;AAarB,eAAO,MAAM,UAAU,sBAAsB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,EAAE,aAEjC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,QAAQ,gKAC0I,CAAC;AAChK,eAAO,MAAM,mBAAmB,EAAE,aAOjC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,kLAAkC,CAAC;AACjE,eAAO,MAAM,wBAAwB,EAAE,kBAItC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;CAM1C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockResponses.d.mts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockResponses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EACnB,wBAAoB;AAarB,eAAO,MAAM,UAAU,sBAAsB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,EAAE,aAEjC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,QAAQ,gKAC0I,CAAC;AAChK,eAAO,MAAM,mBAAmB,EAAE,aAOjC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;CAMpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,kLAAkC,CAAC;AACjE,eAAO,MAAM,wBAAwB,EAAE,kBAItC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;CAM1C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockResponses.mjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockResponses.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACrB,wBAAoB;AAQrB,MAAM,CAAC,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,GAAG,EAAE,mBAAmB;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,mBAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GACnB,6JAA6J,CAAC;AAChK,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,KAAK,EAAE,QAAQ;IACf,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE;QACP,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,iBAAiB;KAC9B;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,OAAO;QACL,GAAG,EAAE,mBAAmB;QACxB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,mBAAmB;KACP,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,QAAQ,EAAE,CAAC;AACjE,MAAM,CAAC,MAAM,wBAAwB,GAAuB;IAC1D,YAAY,EAAE,iBAAiB;IAE/B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE;IACjD,OAAO;QACL,GAAG,EAAE,oBAAoB;QACzB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,wBAAwB;KACZ,CAAC;AAC3B,CAAC,CAAC","sourcesContent":["import type {\n LoginResponse,\n NonceResponse,\n OAuthTokenResponse,\n} from '../services';\nimport {\n AUTH_LOGIN_ENDPOINT,\n AUTH_NONCE_ENDPOINT,\n OIDC_TOKENS_ENDPOINT,\n} from '../services';\n\ntype MockResponse = {\n url: string;\n requestMethod: 'GET' | 'POST' | 'PUT';\n response: unknown;\n};\n\nexport const MOCK_NONCE = '4cbfqzoQpcNxVImGv';\nexport const MOCK_NONCE_RESPONSE: NonceResponse = {\n nonce: MOCK_NONCE,\n};\n\nexport const getMockAuthNonceResponse = () => {\n return {\n url: AUTH_NONCE_ENDPOINT,\n requestMethod: 'GET',\n response: MOCK_NONCE_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\nexport const MOCK_LOGIN_RESPONSE: LoginResponse = {\n token: MOCK_JWT,\n expires_in: new Date().toString(),\n profile: {\n identifier_id: 'MOCK_IDENTIFIER',\n profile_id: 'MOCK_PROFILE_ID',\n },\n};\n\nexport const getMockAuthLoginResponse = () => {\n return {\n url: AUTH_LOGIN_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_LOGIN_RESPONSE,\n } satisfies MockResponse;\n};\n\nexport const MOCK_ACCESS_TOKEN = `MOCK_ACCESS_TOKEN-${MOCK_JWT}`;\nexport const MOCK_OATH_TOKEN_RESPONSE: OAuthTokenResponse = {\n access_token: MOCK_ACCESS_TOKEN,\n\n expires_in: new Date().getTime(),\n};\n\nexport const getMockAuthAccessTokenResponse = () => {\n return {\n url: OIDC_TOKENS_ENDPOINT,\n requestMethod: 'POST',\n response: MOCK_OATH_TOKEN_RESPONSE,\n } satisfies MockResponse;\n};\n"]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.mockEndpointAccessToken = exports.mockEndpointLogin = exports.mockEndpointGetNonce = void 0;
7
- const nock_1 = __importDefault(require("nock"));
8
- const mockResponses_1 = require("./mockResponses.cjs");
9
- const mockEndpointGetNonce = (mockReply) => {
10
- const mockResponse = (0, mockResponses_1.getMockAuthNonceResponse)();
11
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
12
- const mockNonceEndpoint = (0, nock_1.default)(mockResponse.url)
13
- .get('')
14
- .query(true)
15
- .reply(reply.status, reply.body);
16
- return mockNonceEndpoint;
17
- };
18
- exports.mockEndpointGetNonce = mockEndpointGetNonce;
19
- const mockEndpointLogin = (mockReply) => {
20
- const mockResponse = (0, mockResponses_1.getMockAuthLoginResponse)();
21
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
22
- const mockLoginEndpoint = (0, nock_1.default)(mockResponse.url)
23
- .post('')
24
- .reply(reply.status, reply.body);
25
- return mockLoginEndpoint;
26
- };
27
- exports.mockEndpointLogin = mockEndpointLogin;
28
- const mockEndpointAccessToken = (mockReply) => {
29
- const mockResponse = (0, mockResponses_1.getMockAuthAccessTokenResponse)();
30
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
31
- const mockOidcTokensEndpoint = (0, nock_1.default)(mockResponse.url)
32
- .post('')
33
- .reply(reply.status, reply.body);
34
- return mockOidcTokensEndpoint;
35
- };
36
- exports.mockEndpointAccessToken = mockEndpointAccessToken;
37
- //# sourceMappingURL=mockServices.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServices.cjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockServices.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uDAIyB;AAOlB,MAAM,oBAAoB,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,IAAA,wCAAwB,GAAE,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAA,cAAI,EAAC,YAAY,CAAC,GAAG,CAAC;SAC7C,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,IAAI,CAAC;SACX,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEK,MAAM,iBAAiB,GAAG,CAAC,SAAqB,EAAE,EAAE;IACzD,MAAM,YAAY,GAAG,IAAA,wCAAwB,GAAE,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAA,cAAI,EAAC,YAAY,CAAC,GAAG,CAAC;SAC7C,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,uBAAuB,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC/D,MAAM,YAAY,GAAG,IAAA,8CAA8B,GAAE,CAAC;IACtD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,sBAAsB,GAAG,IAAA,cAAI,EAAC,YAAY,CAAC,GAAG,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC","sourcesContent":["import nock from 'nock';\n\nimport {\n getMockAuthAccessTokenResponse,\n getMockAuthLoginResponse,\n getMockAuthNonceResponse,\n} from './mockResponses';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nexport const mockEndpointGetNonce = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthNonceResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockNonceEndpoint = nock(mockResponse.url)\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const mockEndpointLogin = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthLoginResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockLoginEndpoint = nock(mockResponse.url)\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const mockEndpointAccessToken = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthAccessTokenResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockOidcTokensEndpoint = nock(mockResponse.url)\n .post('')\n .reply(reply.status, reply.body);\n\n return mockOidcTokensEndpoint;\n};\n"]}
@@ -1,10 +0,0 @@
1
- import nock from "nock";
2
- type MockReply = {
3
- status: nock.StatusCode;
4
- body?: nock.Body;
5
- };
6
- export declare const mockEndpointGetNonce: (mockReply?: MockReply) => nock.Scope;
7
- export declare const mockEndpointLogin: (mockReply?: MockReply) => nock.Scope;
8
- export declare const mockEndpointAccessToken: (mockReply?: MockReply) => nock.Scope;
9
- export {};
10
- //# sourceMappingURL=mockServices.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServices.d.cts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockServices.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAQxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAAgB,SAAS,eASzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,SAAS,eAQtD,CAAC;AAEF,eAAO,MAAM,uBAAuB,eAAgB,SAAS,eAQ5D,CAAC"}
@@ -1,10 +0,0 @@
1
- import nock from "nock";
2
- type MockReply = {
3
- status: nock.StatusCode;
4
- body?: nock.Body;
5
- };
6
- export declare const mockEndpointGetNonce: (mockReply?: MockReply) => nock.Scope;
7
- export declare const mockEndpointLogin: (mockReply?: MockReply) => nock.Scope;
8
- export declare const mockEndpointAccessToken: (mockReply?: MockReply) => nock.Scope;
9
- export {};
10
- //# sourceMappingURL=mockServices.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServices.d.mts","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockServices.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAQxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAAgB,SAAS,eASzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAgB,SAAS,eAQtD,CAAC;AAEF,eAAO,MAAM,uBAAuB,eAAgB,SAAS,eAQ5D,CAAC"}
@@ -1,35 +0,0 @@
1
- function $importDefault(module) {
2
- if (module?.__esModule) {
3
- return module.default;
4
- }
5
- return module;
6
- }
7
- import $nock from "nock";
8
- const nock = $importDefault($nock);
9
- import { getMockAuthAccessTokenResponse, getMockAuthLoginResponse, getMockAuthNonceResponse } from "./mockResponses.mjs";
10
- export const mockEndpointGetNonce = (mockReply) => {
11
- const mockResponse = getMockAuthNonceResponse();
12
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
13
- const mockNonceEndpoint = nock(mockResponse.url)
14
- .get('')
15
- .query(true)
16
- .reply(reply.status, reply.body);
17
- return mockNonceEndpoint;
18
- };
19
- export const mockEndpointLogin = (mockReply) => {
20
- const mockResponse = getMockAuthLoginResponse();
21
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
22
- const mockLoginEndpoint = nock(mockResponse.url)
23
- .post('')
24
- .reply(reply.status, reply.body);
25
- return mockLoginEndpoint;
26
- };
27
- export const mockEndpointAccessToken = (mockReply) => {
28
- const mockResponse = getMockAuthAccessTokenResponse();
29
- const reply = mockReply ?? { status: 200, body: mockResponse.response };
30
- const mockOidcTokensEndpoint = nock(mockResponse.url)
31
- .post('')
32
- .reply(reply.status, reply.body);
33
- return mockOidcTokensEndpoint;
34
- };
35
- //# sourceMappingURL=mockServices.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockServices.mjs","sourceRoot":"","sources":["../../../../src/controllers/authentication/__fixtures__/mockServices.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,KAAI,aAAa;;AAExB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,wBAAwB,EACzB,4BAAwB;AAOzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC5D,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;SAC7C,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,IAAI,CAAC;SACX,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAqB,EAAE,EAAE;IACzD,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;SAC7C,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAqB,EAAE,EAAE;IAC/D,MAAM,YAAY,GAAG,8BAA8B,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;IACxE,MAAM,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC","sourcesContent":["import nock from 'nock';\n\nimport {\n getMockAuthAccessTokenResponse,\n getMockAuthLoginResponse,\n getMockAuthNonceResponse,\n} from './mockResponses';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nexport const mockEndpointGetNonce = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthNonceResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockNonceEndpoint = nock(mockResponse.url)\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const mockEndpointLogin = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthLoginResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockLoginEndpoint = nock(mockResponse.url)\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const mockEndpointAccessToken = (mockReply?: MockReply) => {\n const mockResponse = getMockAuthAccessTokenResponse();\n const reply = mockReply ?? { status: 200, body: mockResponse.response };\n const mockOidcTokensEndpoint = nock(mockResponse.url)\n .post('')\n .reply(reply.status, reply.body);\n\n return mockOidcTokensEndpoint;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/__fixtures__/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAgC;AAChC,oDAA8B","sourcesContent":["export * from './mockResponses';\nexport * from './mockStorage';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC;AAChC,kCAA8B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../../../../src/controllers/user-storage/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC;AAChC,kCAA8B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/__fixtures__/index.ts"],"names":[],"mappings":"AAAA,oCAAgC;AAChC,kCAA8B","sourcesContent":["export * from './mockResponses';\nexport * from './mockStorage';\n"]}
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mockUserStorageMessenger = exports.createCustomUserStorageMessenger = void 0;
4
- const base_controller_1 = require("@metamask/base-controller");
5
- const _1 = require("./index.cjs");
6
- const typedMockFn = (_type) => jest.fn();
7
- /**
8
- * creates a custom user storage messenger, in case tests need different permissions
9
- *
10
- * @param props - overrides
11
- * @param props.overrideEvents - override events
12
- * @returns base messenger, and messenger. You can pass this into the mocks below to mock messenger calls
13
- */
14
- function createCustomUserStorageMessenger(props) {
15
- const baseMessenger = new base_controller_1.Messenger();
16
- const messenger = baseMessenger.getRestricted({
17
- name: 'UserStorageController',
18
- allowedActions: [
19
- 'KeyringController:getState',
20
- 'KeyringController:withKeyring',
21
- 'SnapController:handleRequest',
22
- 'AuthenticationController:getBearerToken',
23
- 'AuthenticationController:getSessionProfile',
24
- 'AuthenticationController:isSignedIn',
25
- 'AuthenticationController:performSignOut',
26
- 'AuthenticationController:performSignIn',
27
- 'AccountsController:listAccounts',
28
- 'AccountsController:updateAccountMetadata',
29
- 'NetworkController:getState',
30
- 'NetworkController:addNetwork',
31
- 'NetworkController:updateNetwork',
32
- 'NetworkController:removeNetwork',
33
- ],
34
- allowedEvents: props?.overrideEvents ?? [
35
- 'KeyringController:lock',
36
- 'KeyringController:unlock',
37
- 'AccountsController:accountAdded',
38
- 'AccountsController:accountRenamed',
39
- 'NetworkController:networkRemoved',
40
- ],
41
- });
42
- return {
43
- baseMessenger,
44
- messenger,
45
- };
46
- }
47
- exports.createCustomUserStorageMessenger = createCustomUserStorageMessenger;
48
- /**
49
- * Jest Mock Utility to generate a mock User Storage Messenger
50
- *
51
- * @param overrideMessengers - override messengers if need to modify the underlying permissions
52
- * @returns series of mocks to actions that can be called
53
- */
54
- function mockUserStorageMessenger(overrideMessengers) {
55
- const { baseMessenger, messenger } = overrideMessengers ?? createCustomUserStorageMessenger();
56
- const mockSnapGetPublicKey = jest.fn().mockResolvedValue('MOCK_PUBLIC_KEY');
57
- const mockSnapSignMessage = jest
58
- .fn()
59
- .mockResolvedValue(_1.MOCK_STORAGE_KEY_SIGNATURE);
60
- const mockAuthGetBearerToken = typedMockFn('AuthenticationController:getBearerToken').mockResolvedValue('MOCK_BEARER_TOKEN');
61
- const mockAuthGetSessionProfile = typedMockFn('AuthenticationController:getSessionProfile').mockResolvedValue({
62
- identifierId: '',
63
- profileId: 'MOCK_PROFILE_ID',
64
- });
65
- const mockAuthPerformSignIn = typedMockFn('AuthenticationController:performSignIn').mockResolvedValue('New Access Token');
66
- const mockAuthIsSignedIn = typedMockFn('AuthenticationController:isSignedIn').mockReturnValue(true);
67
- const mockAuthPerformSignOut = typedMockFn('AuthenticationController:performSignOut');
68
- const mockKeyringWithKeyring = typedMockFn('KeyringController:withKeyring');
69
- const mockAccountsListAccounts = jest.fn();
70
- const mockKeyringGetAccounts = jest.fn();
71
- const mockKeyringAddAccounts = jest.fn();
72
- const mockAccountsUpdateAccountMetadata = typedMockFn('AccountsController:updateAccountMetadata').mockResolvedValue(true);
73
- const mockNetworkControllerGetState = typedMockFn('NetworkController:getState').mockReturnValue({
74
- selectedNetworkClientId: '',
75
- networksMetadata: {},
76
- networkConfigurationsByChainId: {},
77
- });
78
- const mockNetworkControllerAddNetwork = typedMockFn('NetworkController:addNetwork');
79
- const mockNetworkControllerRemoveNetwork = typedMockFn('NetworkController:removeNetwork');
80
- const mockNetworkControllerUpdateNetwork = typedMockFn('NetworkController:updateNetwork');
81
- jest.spyOn(messenger, 'call').mockImplementation((...args) => {
82
- const typedArgs = args;
83
- const [actionType] = typedArgs;
84
- if (actionType === 'SnapController:handleRequest') {
85
- const [, params] = typedArgs;
86
- if (params.request.method === 'getPublicKey') {
87
- return mockSnapGetPublicKey();
88
- }
89
- if (params.request.method === 'signMessage') {
90
- return mockSnapSignMessage();
91
- }
92
- throw new Error(`MOCK_FAIL - unsupported SnapController:handleRequest call: ${params.request.method}`);
93
- }
94
- if (actionType === 'AuthenticationController:getBearerToken') {
95
- return mockAuthGetBearerToken();
96
- }
97
- if (actionType === 'AuthenticationController:getSessionProfile') {
98
- return mockAuthGetSessionProfile();
99
- }
100
- if (actionType === 'AuthenticationController:performSignIn') {
101
- return mockAuthPerformSignIn();
102
- }
103
- if (actionType === 'AuthenticationController:isSignedIn') {
104
- return mockAuthIsSignedIn();
105
- }
106
- if (actionType === 'AuthenticationController:performSignOut') {
107
- return mockAuthPerformSignOut();
108
- }
109
- if (actionType === 'KeyringController:getState') {
110
- return { isUnlocked: true };
111
- }
112
- if (actionType === 'KeyringController:withKeyring') {
113
- const [, ...params] = typedArgs;
114
- const [, operation] = params;
115
- const keyring = {
116
- getAccounts: mockKeyringGetAccounts,
117
- addAccounts: mockKeyringAddAccounts,
118
- };
119
- return operation(keyring);
120
- }
121
- if (actionType === 'AccountsController:listAccounts') {
122
- return mockAccountsListAccounts();
123
- }
124
- if (typedArgs[0] === 'AccountsController:updateAccountMetadata') {
125
- const [, ...params] = typedArgs;
126
- return mockAccountsUpdateAccountMetadata(...params);
127
- }
128
- if (actionType === 'NetworkController:getState') {
129
- return mockNetworkControllerGetState();
130
- }
131
- if (actionType === 'NetworkController:addNetwork') {
132
- const [, ...params] = typedArgs;
133
- return mockNetworkControllerAddNetwork(...params);
134
- }
135
- if (actionType === 'NetworkController:removeNetwork') {
136
- const [, ...params] = typedArgs;
137
- return mockNetworkControllerRemoveNetwork(...params);
138
- }
139
- if (actionType === 'NetworkController:updateNetwork') {
140
- const [, ...params] = typedArgs;
141
- return mockNetworkControllerUpdateNetwork(...params);
142
- }
143
- throw new Error(`MOCK_FAIL - unsupported messenger call: ${actionType}`);
144
- });
145
- return {
146
- baseMessenger,
147
- messenger,
148
- mockSnapGetPublicKey,
149
- mockSnapSignMessage,
150
- mockAuthGetBearerToken,
151
- mockAuthGetSessionProfile,
152
- mockAuthPerformSignIn,
153
- mockAuthIsSignedIn,
154
- mockAuthPerformSignOut,
155
- mockKeyringGetAccounts,
156
- mockKeyringAddAccounts,
157
- mockKeyringWithKeyring,
158
- mockAccountsUpdateAccountMetadata,
159
- mockAccountsListAccounts,
160
- mockNetworkControllerGetState,
161
- mockNetworkControllerAddNetwork,
162
- mockNetworkControllerRemoveNetwork,
163
- mockNetworkControllerUpdateNetwork,
164
- };
165
- }
166
- exports.mockUserStorageMessenger = mockUserStorageMessenger;
167
- //# sourceMappingURL=mockMessenger.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockMessenger.cjs","sourceRoot":"","sources":["../../../../src/controllers/user-storage/__fixtures__/mockMessenger.ts"],"names":[],"mappings":";;;AACA,+DAAsD;AAGtD,kCAA+C;AAmB/C,MAAM,WAAW,GAAG,CAQlB,KAAiB,EACjB,EAAE,CAAC,IAAI,CAAC,EAAE,EAAsC,CAAC;AAOnD;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAC,KAEhD;IACC,MAAM,aAAa,GAAG,IAAI,2BAAS,EAAiC,CAAC;IACrE,MAAM,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC;QAC5C,IAAI,EAAE,uBAAuB;QAC7B,cAAc,EAAE;YACd,4BAA4B;YAC5B,+BAA+B;YAC/B,8BAA8B;YAC9B,yCAAyC;YACzC,4CAA4C;YAC5C,qCAAqC;YACrC,yCAAyC;YACzC,wCAAwC;YACxC,iCAAiC;YACjC,0CAA0C;YAC1C,4BAA4B;YAC5B,8BAA8B;YAC9B,iCAAiC;YACjC,iCAAiC;SAClC;QACD,aAAa,EAAE,KAAK,EAAE,cAAc,IAAI;YACtC,wBAAwB;YACxB,0BAA0B;YAC1B,iCAAiC;YACjC,mCAAmC;YACnC,kCAAkC;SACnC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAnCD,4EAmCC;AAOD;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,kBAAuC;IAEvC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAChC,kBAAkB,IAAI,gCAAgC,EAAE,CAAC;IAE3D,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC5E,MAAM,mBAAmB,GAAG,IAAI;SAC7B,EAAE,EAAE;SACJ,iBAAiB,CAAC,6BAA0B,CAAC,CAAC;IAEjD,MAAM,sBAAsB,GAAG,WAAW,CACxC,yCAAyC,CAC1C,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAEzC,MAAM,yBAAyB,GAAG,WAAW,CAC3C,4CAA4C,CAC7C,CAAC,iBAAiB,CAAC;QAClB,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,iBAAiB;KAC7B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,WAAW,CACvC,wCAAwC,CACzC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAExC,MAAM,kBAAkB,GAAG,WAAW,CACpC,qCAAqC,CACtC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAExB,MAAM,sBAAsB,GAAG,WAAW,CACxC,yCAAyC,CAC1C,CAAC;IAEF,MAAM,sBAAsB,GAAG,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE5E,MAAM,wBAAwB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAE3C,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACzC,MAAM,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEzC,MAAM,iCAAiC,GAAG,WAAW,CACnD,0CAA0C,CAC3C,CAAC,iBAAiB,CAAC,IAAa,CAAC,CAAC;IAEnC,MAAM,6BAA6B,GAAG,WAAW,CAC/C,4BAA4B,CAC7B,CAAC,eAAe,CAAC;QAChB,uBAAuB,EAAE,EAAE;QAC3B,gBAAgB,EAAE,EAAE;QACpB,8BAA8B,EAAE,EAAE;KACnC,CAAC,CAAC;IAEH,MAAM,+BAA+B,GAAG,WAAW,CACjD,8BAA8B,CAC/B,CAAC;IAEF,MAAM,kCAAkC,GAAG,WAAW,CACpD,iCAAiC,CAClC,CAAC;IAEF,MAAM,kCAAkC,GAAG,WAAW,CACpD,iCAAiC,CAClC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE;QAC3D,MAAM,SAAS,GAAG,IAA6B,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QAE/B,IAAI,UAAU,KAAK,8BAA8B,EAAE;YACjD,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE;gBAC5C,OAAO,oBAAoB,EAAE,CAAC;aAC/B;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE;gBAC3C,OAAO,mBAAmB,EAAE,CAAC;aAC9B;YAED,MAAM,IAAI,KAAK,CACb,8DACE,MAAM,CAAC,OAAO,CAAC,MACjB,EAAE,CACH,CAAC;SACH;QAED,IAAI,UAAU,KAAK,yCAAyC,EAAE;YAC5D,OAAO,sBAAsB,EAAE,CAAC;SACjC;QAED,IAAI,UAAU,KAAK,4CAA4C,EAAE;YAC/D,OAAO,yBAAyB,EAAE,CAAC;SACpC;QAED,IAAI,UAAU,KAAK,wCAAwC,EAAE;YAC3D,OAAO,qBAAqB,EAAE,CAAC;SAChC;QAED,IAAI,UAAU,KAAK,qCAAqC,EAAE;YACxD,OAAO,kBAAkB,EAAE,CAAC;SAC7B;QAED,IAAI,UAAU,KAAK,yCAAyC,EAAE;YAC5D,OAAO,sBAAsB,EAAE,CAAC;SACjC;QAED,IAAI,UAAU,KAAK,4BAA4B,EAAE;YAC/C,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;SAC7B;QAED,IAAI,UAAU,KAAK,+BAA+B,EAAE;YAClD,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;YAChC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;YAE7B,MAAM,OAAO,GAAG;gBACd,WAAW,EAAE,sBAAsB;gBACnC,WAAW,EAAE,sBAAsB;aACJ,CAAC;YAElC,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;SAC3B;QAED,IAAI,UAAU,KAAK,iCAAiC,EAAE;YACpD,OAAO,wBAAwB,EAAE,CAAC;SACnC;QAED,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,0CAA0C,EAAE;YAC/D,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;YAChC,OAAO,iCAAiC,CAAC,GAAG,MAAM,CAAC,CAAC;SACrD;QAED,IAAI,UAAU,KAAK,4BAA4B,EAAE;YAC/C,OAAO,6BAA6B,EAAE,CAAC;SACxC;QAED,IAAI,UAAU,KAAK,8BAA8B,EAAE;YACjD,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;YAChC,OAAO,+BAA+B,CAAC,GAAG,MAAM,CAAC,CAAC;SACnD;QAED,IAAI,UAAU,KAAK,iCAAiC,EAAE;YACpD,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;YAChC,OAAO,kCAAkC,CAAC,GAAG,MAAM,CAAC,CAAC;SACtD;QAED,IAAI,UAAU,KAAK,iCAAiC,EAAE;YACpD,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;YAChC,OAAO,kCAAkC,CAAC,GAAG,MAAM,CAAC,CAAC;SACtD;QAED,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAoB,EAAE,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,aAAa;QACb,SAAS;QACT,oBAAoB;QACpB,mBAAmB;QACnB,sBAAsB;QACtB,yBAAyB;QACzB,qBAAqB;QACrB,kBAAkB;QAClB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,iCAAiC;QACjC,wBAAwB;QACxB,6BAA6B;QAC7B,+BAA+B;QAC/B,kCAAkC;QAClC,kCAAkC;KACnC,CAAC;AACJ,CAAC;AA/KD,4DA+KC","sourcesContent":["import type { NotNamespacedBy } from '@metamask/base-controller';\nimport { Messenger } from '@metamask/base-controller';\nimport type { EthKeyring } from '@metamask/keyring-internal-api';\n\nimport { MOCK_STORAGE_KEY_SIGNATURE } from '.';\nimport type {\n AllowedActions,\n AllowedEvents,\n UserStorageControllerMessenger,\n} from '..';\n\ntype GetHandler<ActionType extends AllowedActions['type']> = Extract<\n AllowedActions,\n { type: ActionType }\n>['handler'];\n\ntype CallParams = {\n [K in AllowedActions['type']]: [\n K,\n ...Parameters<Extract<AllowedActions, { type: K }>['handler']>,\n ];\n}[AllowedActions['type']];\n\nconst typedMockFn = <\n ActionType extends AllowedActions['type'],\n Handler = GetHandler<ActionType>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Func extends (...args: any) => any = Handler extends (...args: any[]) => any\n ? Handler\n : never,\n>(\n _type: ActionType,\n) => jest.fn<ReturnType<Func>, Parameters<Func>>();\n\ntype ExternalEvents = NotNamespacedBy<\n 'UserStorageController',\n AllowedEvents['type']\n>;\n\n/**\n * creates a custom user storage messenger, in case tests need different permissions\n *\n * @param props - overrides\n * @param props.overrideEvents - override events\n * @returns base messenger, and messenger. You can pass this into the mocks below to mock messenger calls\n */\nexport function createCustomUserStorageMessenger(props?: {\n overrideEvents?: ExternalEvents[];\n}) {\n const baseMessenger = new Messenger<AllowedActions, AllowedEvents>();\n const messenger = baseMessenger.getRestricted({\n name: 'UserStorageController',\n allowedActions: [\n 'KeyringController:getState',\n 'KeyringController:withKeyring',\n 'SnapController:handleRequest',\n 'AuthenticationController:getBearerToken',\n 'AuthenticationController:getSessionProfile',\n 'AuthenticationController:isSignedIn',\n 'AuthenticationController:performSignOut',\n 'AuthenticationController:performSignIn',\n 'AccountsController:listAccounts',\n 'AccountsController:updateAccountMetadata',\n 'NetworkController:getState',\n 'NetworkController:addNetwork',\n 'NetworkController:updateNetwork',\n 'NetworkController:removeNetwork',\n ],\n allowedEvents: props?.overrideEvents ?? [\n 'KeyringController:lock',\n 'KeyringController:unlock',\n 'AccountsController:accountAdded',\n 'AccountsController:accountRenamed',\n 'NetworkController:networkRemoved',\n ],\n });\n\n return {\n baseMessenger,\n messenger,\n };\n}\n\ntype OverrideMessengers = {\n baseMessenger: Messenger<AllowedActions, AllowedEvents>;\n messenger: UserStorageControllerMessenger;\n};\n\n/**\n * Jest Mock Utility to generate a mock User Storage Messenger\n *\n * @param overrideMessengers - override messengers if need to modify the underlying permissions\n * @returns series of mocks to actions that can be called\n */\nexport function mockUserStorageMessenger(\n overrideMessengers?: OverrideMessengers,\n) {\n const { baseMessenger, messenger } =\n overrideMessengers ?? createCustomUserStorageMessenger();\n\n const mockSnapGetPublicKey = jest.fn().mockResolvedValue('MOCK_PUBLIC_KEY');\n const mockSnapSignMessage = jest\n .fn()\n .mockResolvedValue(MOCK_STORAGE_KEY_SIGNATURE);\n\n const mockAuthGetBearerToken = typedMockFn(\n 'AuthenticationController:getBearerToken',\n ).mockResolvedValue('MOCK_BEARER_TOKEN');\n\n const mockAuthGetSessionProfile = typedMockFn(\n 'AuthenticationController:getSessionProfile',\n ).mockResolvedValue({\n identifierId: '',\n profileId: 'MOCK_PROFILE_ID',\n });\n\n const mockAuthPerformSignIn = typedMockFn(\n 'AuthenticationController:performSignIn',\n ).mockResolvedValue('New Access Token');\n\n const mockAuthIsSignedIn = typedMockFn(\n 'AuthenticationController:isSignedIn',\n ).mockReturnValue(true);\n\n const mockAuthPerformSignOut = typedMockFn(\n 'AuthenticationController:performSignOut',\n );\n\n const mockKeyringWithKeyring = typedMockFn('KeyringController:withKeyring');\n\n const mockAccountsListAccounts = jest.fn();\n\n const mockKeyringGetAccounts = jest.fn();\n const mockKeyringAddAccounts = jest.fn();\n\n const mockAccountsUpdateAccountMetadata = typedMockFn(\n 'AccountsController:updateAccountMetadata',\n ).mockResolvedValue(true as never);\n\n const mockNetworkControllerGetState = typedMockFn(\n 'NetworkController:getState',\n ).mockReturnValue({\n selectedNetworkClientId: '',\n networksMetadata: {},\n networkConfigurationsByChainId: {},\n });\n\n const mockNetworkControllerAddNetwork = typedMockFn(\n 'NetworkController:addNetwork',\n );\n\n const mockNetworkControllerRemoveNetwork = typedMockFn(\n 'NetworkController:removeNetwork',\n );\n\n const mockNetworkControllerUpdateNetwork = typedMockFn(\n 'NetworkController:updateNetwork',\n );\n\n jest.spyOn(messenger, 'call').mockImplementation((...args) => {\n const typedArgs = args as unknown as CallParams;\n const [actionType] = typedArgs;\n\n if (actionType === 'SnapController:handleRequest') {\n const [, params] = typedArgs;\n if (params.request.method === 'getPublicKey') {\n return mockSnapGetPublicKey();\n }\n\n if (params.request.method === 'signMessage') {\n return mockSnapSignMessage();\n }\n\n throw new Error(\n `MOCK_FAIL - unsupported SnapController:handleRequest call: ${\n params.request.method as string\n }`,\n );\n }\n\n if (actionType === 'AuthenticationController:getBearerToken') {\n return mockAuthGetBearerToken();\n }\n\n if (actionType === 'AuthenticationController:getSessionProfile') {\n return mockAuthGetSessionProfile();\n }\n\n if (actionType === 'AuthenticationController:performSignIn') {\n return mockAuthPerformSignIn();\n }\n\n if (actionType === 'AuthenticationController:isSignedIn') {\n return mockAuthIsSignedIn();\n }\n\n if (actionType === 'AuthenticationController:performSignOut') {\n return mockAuthPerformSignOut();\n }\n\n if (actionType === 'KeyringController:getState') {\n return { isUnlocked: true };\n }\n\n if (actionType === 'KeyringController:withKeyring') {\n const [, ...params] = typedArgs;\n const [, operation] = params;\n\n const keyring = {\n getAccounts: mockKeyringGetAccounts,\n addAccounts: mockKeyringAddAccounts,\n } as unknown as EthKeyring<never>;\n\n return operation(keyring);\n }\n\n if (actionType === 'AccountsController:listAccounts') {\n return mockAccountsListAccounts();\n }\n\n if (typedArgs[0] === 'AccountsController:updateAccountMetadata') {\n const [, ...params] = typedArgs;\n return mockAccountsUpdateAccountMetadata(...params);\n }\n\n if (actionType === 'NetworkController:getState') {\n return mockNetworkControllerGetState();\n }\n\n if (actionType === 'NetworkController:addNetwork') {\n const [, ...params] = typedArgs;\n return mockNetworkControllerAddNetwork(...params);\n }\n\n if (actionType === 'NetworkController:removeNetwork') {\n const [, ...params] = typedArgs;\n return mockNetworkControllerRemoveNetwork(...params);\n }\n\n if (actionType === 'NetworkController:updateNetwork') {\n const [, ...params] = typedArgs;\n return mockNetworkControllerUpdateNetwork(...params);\n }\n\n throw new Error(\n `MOCK_FAIL - unsupported messenger call: ${actionType as string}`,\n );\n });\n\n return {\n baseMessenger,\n messenger,\n mockSnapGetPublicKey,\n mockSnapSignMessage,\n mockAuthGetBearerToken,\n mockAuthGetSessionProfile,\n mockAuthPerformSignIn,\n mockAuthIsSignedIn,\n mockAuthPerformSignOut,\n mockKeyringGetAccounts,\n mockKeyringAddAccounts,\n mockKeyringWithKeyring,\n mockAccountsUpdateAccountMetadata,\n mockAccountsListAccounts,\n mockNetworkControllerGetState,\n mockNetworkControllerAddNetwork,\n mockNetworkControllerRemoveNetwork,\n mockNetworkControllerUpdateNetwork,\n };\n}\n"]}