@metamask-previews/profile-sync-controller 8.1.0-preview-dbdf1da → 8.1.1-preview-95a6811

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 (161) hide show
  1. package/CHANGELOG.md +5 -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/index.cjs +1 -1
  21. package/dist/controllers/user-storage/index.cjs.map +1 -1
  22. package/dist/controllers/user-storage/index.d.cts +1 -1
  23. package/dist/controllers/user-storage/index.d.cts.map +1 -1
  24. package/dist/controllers/user-storage/index.d.mts +1 -1
  25. package/dist/controllers/user-storage/index.d.mts.map +1 -1
  26. package/dist/controllers/user-storage/index.mjs +1 -1
  27. package/dist/controllers/user-storage/index.mjs.map +1 -1
  28. package/dist/controllers/user-storage/mocks/index.cjs.map +1 -0
  29. package/dist/controllers/user-storage/mocks/index.d.cts.map +1 -0
  30. package/dist/controllers/user-storage/mocks/index.d.mts.map +1 -0
  31. package/dist/controllers/user-storage/mocks/index.mjs.map +1 -0
  32. package/dist/controllers/user-storage/mocks/mockResponses.cjs.map +1 -0
  33. package/dist/controllers/user-storage/mocks/mockResponses.d.cts.map +1 -0
  34. package/dist/controllers/user-storage/mocks/mockResponses.d.mts.map +1 -0
  35. package/dist/controllers/user-storage/mocks/mockResponses.mjs.map +1 -0
  36. package/dist/controllers/user-storage/mocks/mockStorage.cjs.map +1 -0
  37. package/dist/controllers/user-storage/mocks/mockStorage.d.cts.map +1 -0
  38. package/dist/controllers/user-storage/mocks/mockStorage.d.mts.map +1 -0
  39. package/dist/controllers/user-storage/mocks/mockStorage.mjs.map +1 -0
  40. package/package.json +11 -11
  41. package/user-storage/mocks/package.json +2 -2
  42. package/dist/controllers/authentication/__fixtures__/index.cjs.map +0 -1
  43. package/dist/controllers/authentication/__fixtures__/index.d.cts.map +0 -1
  44. package/dist/controllers/authentication/__fixtures__/index.d.mts.map +0 -1
  45. package/dist/controllers/authentication/__fixtures__/index.mjs.map +0 -1
  46. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs.map +0 -1
  47. package/dist/controllers/authentication/__fixtures__/mockResponses.d.cts.map +0 -1
  48. package/dist/controllers/authentication/__fixtures__/mockResponses.d.mts.map +0 -1
  49. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs.map +0 -1
  50. package/dist/controllers/authentication/__fixtures__/mockServices.cjs +0 -37
  51. package/dist/controllers/authentication/__fixtures__/mockServices.cjs.map +0 -1
  52. package/dist/controllers/authentication/__fixtures__/mockServices.d.cts +0 -10
  53. package/dist/controllers/authentication/__fixtures__/mockServices.d.cts.map +0 -1
  54. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts +0 -10
  55. package/dist/controllers/authentication/__fixtures__/mockServices.d.mts.map +0 -1
  56. package/dist/controllers/authentication/__fixtures__/mockServices.mjs +0 -35
  57. package/dist/controllers/authentication/__fixtures__/mockServices.mjs.map +0 -1
  58. package/dist/controllers/user-storage/__fixtures__/index.cjs.map +0 -1
  59. package/dist/controllers/user-storage/__fixtures__/index.d.cts.map +0 -1
  60. package/dist/controllers/user-storage/__fixtures__/index.d.mts.map +0 -1
  61. package/dist/controllers/user-storage/__fixtures__/index.mjs.map +0 -1
  62. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs +0 -167
  63. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs.map +0 -1
  64. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts +0 -105
  65. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts.map +0 -1
  66. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts +0 -105
  67. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts.map +0 -1
  68. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs +0 -162
  69. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs.map +0 -1
  70. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs.map +0 -1
  71. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.cts.map +0 -1
  72. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts.map +0 -1
  73. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs.map +0 -1
  74. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs +0 -82
  75. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs.map +0 -1
  76. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts +0 -15
  77. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts.map +0 -1
  78. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts +0 -15
  79. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts.map +0 -1
  80. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs +0 -76
  81. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs.map +0 -1
  82. package/dist/controllers/user-storage/__fixtures__/mockStorage.cjs.map +0 -1
  83. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.cts.map +0 -1
  84. package/dist/controllers/user-storage/__fixtures__/mockStorage.d.mts.map +0 -1
  85. package/dist/controllers/user-storage/__fixtures__/mockStorage.mjs.map +0 -1
  86. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs +0 -78
  87. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs.map +0 -1
  88. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts +0 -38
  89. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts.map +0 -1
  90. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts +0 -38
  91. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts.map +0 -1
  92. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs +0 -68
  93. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs.map +0 -1
  94. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs +0 -178
  95. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs.map +0 -1
  96. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts +0 -91
  97. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts.map +0 -1
  98. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts +0 -91
  99. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts.map +0 -1
  100. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs +0 -174
  101. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs.map +0 -1
  102. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs +0 -58
  103. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs.map +0 -1
  104. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts +0 -87
  105. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts.map +0 -1
  106. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts +0 -87
  107. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts.map +0 -1
  108. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs +0 -52
  109. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs.map +0 -1
  110. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs +0 -43
  111. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.cjs.map +0 -1
  112. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts +0 -11
  113. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.cts.map +0 -1
  114. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts +0 -11
  115. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.d.mts.map +0 -1
  116. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs +0 -36
  117. package/dist/controllers/user-storage/network-syncing/__fixtures__/mockNetwork.mjs.map +0 -1
  118. package/dist/sdk/__fixtures__/mock-auth.cjs +0 -124
  119. package/dist/sdk/__fixtures__/mock-auth.cjs.map +0 -1
  120. package/dist/sdk/__fixtures__/mock-auth.d.cts +0 -42
  121. package/dist/sdk/__fixtures__/mock-auth.d.cts.map +0 -1
  122. package/dist/sdk/__fixtures__/mock-auth.d.mts +0 -42
  123. package/dist/sdk/__fixtures__/mock-auth.d.mts.map +0 -1
  124. package/dist/sdk/__fixtures__/mock-auth.mjs +0 -119
  125. package/dist/sdk/__fixtures__/mock-auth.mjs.map +0 -1
  126. package/dist/sdk/__fixtures__/mock-userstorage.cjs +0 -111
  127. package/dist/sdk/__fixtures__/mock-userstorage.cjs.map +0 -1
  128. package/dist/sdk/__fixtures__/mock-userstorage.d.cts +0 -20
  129. package/dist/sdk/__fixtures__/mock-userstorage.d.cts.map +0 -1
  130. package/dist/sdk/__fixtures__/mock-userstorage.d.mts +0 -20
  131. package/dist/sdk/__fixtures__/mock-userstorage.d.mts.map +0 -1
  132. package/dist/sdk/__fixtures__/mock-userstorage.mjs +0 -81
  133. package/dist/sdk/__fixtures__/mock-userstorage.mjs.map +0 -1
  134. package/dist/sdk/__fixtures__/test-utils.cjs +0 -90
  135. package/dist/sdk/__fixtures__/test-utils.cjs.map +0 -1
  136. package/dist/sdk/__fixtures__/test-utils.d.cts +0 -37
  137. package/dist/sdk/__fixtures__/test-utils.d.cts.map +0 -1
  138. package/dist/sdk/__fixtures__/test-utils.d.mts +0 -37
  139. package/dist/sdk/__fixtures__/test-utils.d.mts.map +0 -1
  140. package/dist/sdk/__fixtures__/test-utils.mjs +0 -84
  141. package/dist/sdk/__fixtures__/test-utils.mjs.map +0 -1
  142. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.cjs +0 -0
  143. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.d.cts +0 -0
  144. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.d.mts +0 -0
  145. /package/dist/controllers/authentication/{__fixtures__ → mocks}/index.mjs +0 -0
  146. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.cjs +0 -0
  147. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.d.cts +0 -0
  148. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.d.mts +0 -0
  149. /package/dist/controllers/authentication/{__fixtures__ → mocks}/mockResponses.mjs +0 -0
  150. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.cjs +0 -0
  151. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.d.cts +0 -0
  152. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.d.mts +0 -0
  153. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/index.mjs +0 -0
  154. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.cjs +0 -0
  155. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.d.cts +0 -0
  156. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.d.mts +0 -0
  157. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockResponses.mjs +0 -0
  158. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.cjs +0 -0
  159. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.d.cts +0 -0
  160. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.d.mts +0 -0
  161. /package/dist/controllers/user-storage/{__fixtures__ → mocks}/mockStorage.mjs +0 -0
@@ -1,84 +0,0 @@
1
- import { Env, Platform } from "../../shared/env.mjs";
2
- import { JwtBearerAuth } from "../authentication.mjs";
3
- import { AuthType } from "../authentication-jwt-bearer/types.mjs";
4
- import { SNAP_ORIGIN } from "../utils/messaging-signing-snap-requests.mjs";
5
- // Utility for mocking, the generics will constrain values
6
- // TODO: Either fix this lint violation or explain why it's necessary to ignore.
7
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
- export const typedMockFn = () => jest.fn();
9
- const mockAuthOptions = () => {
10
- const mockGetLoginResponse = typedMockFn();
11
- const mockSetLoginResponse = typedMockFn();
12
- const mockGetIdentifier = typedMockFn();
13
- const mockSignMessage = typedMockFn();
14
- return {
15
- mockGetLoginResponse,
16
- mockSetLoginResponse,
17
- mockGetIdentifier,
18
- mockSignMessage,
19
- };
20
- };
21
- /**
22
- * Mock Utility - Arrange Auth
23
- *
24
- * @param type - choose SIWE or SRP Auth instance
25
- * @param mockPublicKey - provide the mock public key
26
- * @param authOptionsOverride - overrides
27
- * @param authOptionsOverride.signing - override auth signing
28
- * @param authOptionsOverride.customProvider - override custom provider
29
- * @returns Auth instance
30
- */
31
- export function arrangeAuth(type, mockPublicKey, authOptionsOverride) {
32
- const authOptionsMock = mockAuthOptions();
33
- authOptionsMock.mockGetLoginResponse.mockResolvedValue(null);
34
- authOptionsMock.mockSetLoginResponse.mockResolvedValue();
35
- authOptionsMock.mockGetIdentifier.mockResolvedValue(mockPublicKey);
36
- authOptionsMock.mockSignMessage.mockResolvedValue(type === 'SRP' ? 'MOCK_SRP_SIGNATURE' : 'MOCK_SIWE_SIGNATURE');
37
- if (type === 'SRP') {
38
- const auth = new JwtBearerAuth({
39
- env: Env.DEV,
40
- platform: Platform.EXTENSION,
41
- type: AuthType.SRP,
42
- }, {
43
- customProvider: authOptionsOverride?.customProvider,
44
- storage: {
45
- getLoginResponse: authOptionsMock.mockGetLoginResponse,
46
- setLoginResponse: authOptionsMock.mockSetLoginResponse,
47
- },
48
- signing: authOptionsOverride
49
- ? authOptionsOverride.signing
50
- : {
51
- getIdentifier: authOptionsMock.mockGetIdentifier,
52
- signMessage: authOptionsMock.mockSignMessage,
53
- },
54
- });
55
- return { auth, ...authOptionsMock };
56
- }
57
- if (type === 'SiWE') {
58
- const auth = new JwtBearerAuth({
59
- env: Env.DEV,
60
- platform: Platform.EXTENSION,
61
- type: AuthType.SiWE,
62
- }, {
63
- storage: {
64
- getLoginResponse: authOptionsMock.mockGetLoginResponse,
65
- setLoginResponse: authOptionsMock.mockSetLoginResponse,
66
- },
67
- });
68
- return { auth, ...authOptionsMock };
69
- }
70
- throw new Error('Unable to arrange auth mock for invalid auth type');
71
- }
72
- /**
73
- * Mock utility - creates a mock provider
74
- *
75
- * @returns mock provider
76
- */
77
- export const arrangeMockProvider = () => {
78
- const mockRequest = jest.fn().mockResolvedValue({ [SNAP_ORIGIN]: {} });
79
- const mockProvider = {
80
- request: mockRequest,
81
- };
82
- return { mockProvider, mockRequest };
83
- };
84
- //# sourceMappingURL=test-utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-utils.mjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/test-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Eip1193Provider } from 'ethers';\n\nimport { Env, Platform } from '../../shared/env';\nimport { JwtBearerAuth } from '../authentication';\nimport type {\n AuthSigningOptions,\n AuthStorageOptions,\n} from '../authentication-jwt-bearer/types';\nimport { AuthType } from '../authentication-jwt-bearer/types';\nimport { SNAP_ORIGIN } from '../utils/messaging-signing-snap-requests';\n\n// Alias mocking variables with ANY to test runtime safety.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type MockVariable = any;\n\n// Utility for mocking, the generics will constrain values\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const typedMockFn = <Fn extends (...args: any[]) => any>() =>\n jest.fn<ReturnType<Fn>, Parameters<Fn>>();\n\nconst mockAuthOptions = () => {\n const mockGetLoginResponse =\n typedMockFn<AuthStorageOptions['getLoginResponse']>();\n\n const mockSetLoginResponse =\n typedMockFn<AuthStorageOptions['setLoginResponse']>();\n\n const mockGetIdentifier = typedMockFn<AuthSigningOptions['getIdentifier']>();\n\n const mockSignMessage = typedMockFn<AuthSigningOptions['signMessage']>();\n\n return {\n mockGetLoginResponse,\n mockSetLoginResponse,\n mockGetIdentifier,\n mockSignMessage,\n };\n};\n\n/**\n * Mock Utility - Arrange Auth\n *\n * @param type - choose SIWE or SRP Auth instance\n * @param mockPublicKey - provide the mock public key\n * @param authOptionsOverride - overrides\n * @param authOptionsOverride.signing - override auth signing\n * @param authOptionsOverride.customProvider - override custom provider\n * @returns Auth instance\n */\nexport function arrangeAuth(\n type: `${AuthType}`,\n mockPublicKey: string,\n authOptionsOverride?: {\n signing?: AuthSigningOptions;\n customProvider?: Eip1193Provider;\n },\n) {\n const authOptionsMock = mockAuthOptions();\n authOptionsMock.mockGetLoginResponse.mockResolvedValue(null);\n authOptionsMock.mockSetLoginResponse.mockResolvedValue();\n authOptionsMock.mockGetIdentifier.mockResolvedValue(mockPublicKey);\n authOptionsMock.mockSignMessage.mockResolvedValue(\n type === 'SRP' ? 'MOCK_SRP_SIGNATURE' : 'MOCK_SIWE_SIGNATURE',\n );\n\n if (type === 'SRP') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SRP,\n },\n {\n customProvider: authOptionsOverride?.customProvider,\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n signing: authOptionsOverride\n ? authOptionsOverride.signing\n : {\n getIdentifier: authOptionsMock.mockGetIdentifier,\n signMessage: authOptionsMock.mockSignMessage,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n if (type === 'SiWE') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SiWE,\n },\n {\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n throw new Error('Unable to arrange auth mock for invalid auth type');\n}\n\n/**\n * Mock utility - creates a mock provider\n *\n * @returns mock provider\n */\nexport const arrangeMockProvider = () => {\n const mockRequest = jest.fn().mockResolvedValue({ [SNAP_ORIGIN]: {} });\n const mockProvider: Eip1193Provider = {\n request: mockRequest,\n };\n\n return { mockProvider, mockRequest };\n};\n"]}