@metamask-previews/profile-sync-controller 16.0.0-preview-39fa8d37 → 16.0.0-preview-510657d5

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 (174) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/controllers/authentication/AuthenticationController.cjs +60 -24
  3. package/dist/controllers/authentication/AuthenticationController.cjs.map +1 -1
  4. package/dist/controllers/authentication/AuthenticationController.d.cts +6 -4
  5. package/dist/controllers/authentication/AuthenticationController.d.cts.map +1 -1
  6. package/dist/controllers/authentication/AuthenticationController.d.mts +6 -4
  7. package/dist/controllers/authentication/AuthenticationController.d.mts.map +1 -1
  8. package/dist/controllers/authentication/AuthenticationController.mjs +61 -25
  9. package/dist/controllers/authentication/AuthenticationController.mjs.map +1 -1
  10. package/dist/controllers/authentication/auth-snap-requests.cjs +25 -4
  11. package/dist/controllers/authentication/auth-snap-requests.cjs.map +1 -1
  12. package/dist/controllers/authentication/auth-snap-requests.d.cts +12 -2
  13. package/dist/controllers/authentication/auth-snap-requests.d.cts.map +1 -1
  14. package/dist/controllers/authentication/auth-snap-requests.d.mts +12 -2
  15. package/dist/controllers/authentication/auth-snap-requests.d.mts.map +1 -1
  16. package/dist/controllers/authentication/auth-snap-requests.mjs +23 -3
  17. package/dist/controllers/authentication/auth-snap-requests.mjs.map +1 -1
  18. package/dist/controllers/authentication/mocks/mockResponses.cjs +36 -3
  19. package/dist/controllers/authentication/mocks/mockResponses.cjs.map +1 -1
  20. package/dist/controllers/authentication/mocks/mockResponses.d.cts +7 -5
  21. package/dist/controllers/authentication/mocks/mockResponses.d.cts.map +1 -1
  22. package/dist/controllers/authentication/mocks/mockResponses.d.mts +7 -5
  23. package/dist/controllers/authentication/mocks/mockResponses.d.mts.map +1 -1
  24. package/dist/controllers/authentication/mocks/mockResponses.mjs +36 -3
  25. package/dist/controllers/authentication/mocks/mockResponses.mjs.map +1 -1
  26. package/dist/controllers/user-storage/UserStorageController.cjs +133 -30
  27. package/dist/controllers/user-storage/UserStorageController.cjs.map +1 -1
  28. package/dist/controllers/user-storage/UserStorageController.d.cts +62 -10
  29. package/dist/controllers/user-storage/UserStorageController.d.cts.map +1 -1
  30. package/dist/controllers/user-storage/UserStorageController.d.mts +62 -10
  31. package/dist/controllers/user-storage/UserStorageController.d.mts.map +1 -1
  32. package/dist/controllers/user-storage/UserStorageController.mjs +130 -27
  33. package/dist/controllers/user-storage/UserStorageController.mjs.map +1 -1
  34. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs +22 -26
  35. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs.map +1 -1
  36. package/dist/controllers/user-storage/account-syncing/controller-integration.d.cts +5 -2
  37. package/dist/controllers/user-storage/account-syncing/controller-integration.d.cts.map +1 -1
  38. package/dist/controllers/user-storage/account-syncing/controller-integration.d.mts +5 -2
  39. package/dist/controllers/user-storage/account-syncing/controller-integration.d.mts.map +1 -1
  40. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs +23 -27
  41. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs.map +1 -1
  42. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.cjs +3 -13
  43. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.cjs.map +1 -1
  44. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.cts.map +1 -1
  45. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.mts.map +1 -1
  46. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.mjs +3 -13
  47. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.mjs.map +1 -1
  48. package/dist/controllers/user-storage/account-syncing/sync-utils.cjs +16 -7
  49. package/dist/controllers/user-storage/account-syncing/sync-utils.cjs.map +1 -1
  50. package/dist/controllers/user-storage/account-syncing/sync-utils.d.cts +6 -2
  51. package/dist/controllers/user-storage/account-syncing/sync-utils.d.cts.map +1 -1
  52. package/dist/controllers/user-storage/account-syncing/sync-utils.d.mts +6 -2
  53. package/dist/controllers/user-storage/account-syncing/sync-utils.d.mts.map +1 -1
  54. package/dist/controllers/user-storage/account-syncing/sync-utils.mjs +16 -7
  55. package/dist/controllers/user-storage/account-syncing/sync-utils.mjs.map +1 -1
  56. package/dist/controllers/user-storage/account-syncing/utils.cjs +1 -42
  57. package/dist/controllers/user-storage/account-syncing/utils.cjs.map +1 -1
  58. package/dist/controllers/user-storage/account-syncing/utils.d.cts +1 -18
  59. package/dist/controllers/user-storage/account-syncing/utils.d.cts.map +1 -1
  60. package/dist/controllers/user-storage/account-syncing/utils.d.mts +1 -18
  61. package/dist/controllers/user-storage/account-syncing/utils.d.mts.map +1 -1
  62. package/dist/controllers/user-storage/account-syncing/utils.mjs +0 -39
  63. package/dist/controllers/user-storage/account-syncing/utils.mjs.map +1 -1
  64. package/dist/controllers/user-storage/constants.cjs +1 -0
  65. package/dist/controllers/user-storage/constants.cjs.map +1 -1
  66. package/dist/controllers/user-storage/constants.d.cts +1 -0
  67. package/dist/controllers/user-storage/constants.d.cts.map +1 -1
  68. package/dist/controllers/user-storage/constants.d.mts +1 -0
  69. package/dist/controllers/user-storage/constants.d.mts.map +1 -1
  70. package/dist/controllers/user-storage/constants.mjs +1 -0
  71. package/dist/controllers/user-storage/constants.mjs.map +1 -1
  72. package/dist/controllers/user-storage/contact-syncing/constants.cjs +12 -0
  73. package/dist/controllers/user-storage/contact-syncing/constants.cjs.map +1 -0
  74. package/dist/controllers/user-storage/contact-syncing/constants.d.cts +9 -0
  75. package/dist/controllers/user-storage/contact-syncing/constants.d.cts.map +1 -0
  76. package/dist/controllers/user-storage/contact-syncing/constants.d.mts +9 -0
  77. package/dist/controllers/user-storage/contact-syncing/constants.d.mts.map +1 -0
  78. package/dist/controllers/user-storage/contact-syncing/constants.mjs +9 -0
  79. package/dist/controllers/user-storage/contact-syncing/constants.mjs.map +1 -0
  80. package/dist/controllers/user-storage/contact-syncing/controller-integration.cjs +299 -0
  81. package/dist/controllers/user-storage/contact-syncing/controller-integration.cjs.map +1 -0
  82. package/dist/controllers/user-storage/contact-syncing/controller-integration.d.cts +44 -0
  83. package/dist/controllers/user-storage/contact-syncing/controller-integration.d.cts.map +1 -0
  84. package/dist/controllers/user-storage/contact-syncing/controller-integration.d.mts +44 -0
  85. package/dist/controllers/user-storage/contact-syncing/controller-integration.d.mts.map +1 -0
  86. package/dist/controllers/user-storage/contact-syncing/controller-integration.mjs +293 -0
  87. package/dist/controllers/user-storage/contact-syncing/controller-integration.mjs.map +1 -0
  88. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.cjs +50 -0
  89. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.cjs.map +1 -0
  90. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.d.cts +8 -0
  91. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.d.cts.map +1 -0
  92. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.d.mts +8 -0
  93. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.d.mts.map +1 -0
  94. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.mjs +46 -0
  95. package/dist/controllers/user-storage/contact-syncing/setup-subscriptions.mjs.map +1 -0
  96. package/dist/controllers/user-storage/contact-syncing/sync-utils.cjs +23 -0
  97. package/dist/controllers/user-storage/contact-syncing/sync-utils.cjs.map +1 -0
  98. package/dist/controllers/user-storage/contact-syncing/sync-utils.d.cts +9 -0
  99. package/dist/controllers/user-storage/contact-syncing/sync-utils.d.cts.map +1 -0
  100. package/dist/controllers/user-storage/contact-syncing/sync-utils.d.mts +9 -0
  101. package/dist/controllers/user-storage/contact-syncing/sync-utils.d.mts.map +1 -0
  102. package/dist/controllers/user-storage/contact-syncing/sync-utils.mjs +19 -0
  103. package/dist/controllers/user-storage/contact-syncing/sync-utils.mjs.map +1 -0
  104. package/dist/controllers/user-storage/contact-syncing/types.cjs +3 -0
  105. package/dist/controllers/user-storage/contact-syncing/types.cjs.map +1 -0
  106. package/dist/controllers/user-storage/contact-syncing/types.d.cts +35 -0
  107. package/dist/controllers/user-storage/contact-syncing/types.d.cts.map +1 -0
  108. package/dist/controllers/user-storage/contact-syncing/types.d.mts +35 -0
  109. package/dist/controllers/user-storage/contact-syncing/types.d.mts.map +1 -0
  110. package/dist/controllers/user-storage/contact-syncing/types.mjs +2 -0
  111. package/dist/controllers/user-storage/contact-syncing/types.mjs.map +1 -0
  112. package/dist/controllers/user-storage/contact-syncing/utils.cjs +66 -0
  113. package/dist/controllers/user-storage/contact-syncing/utils.cjs.map +1 -0
  114. package/dist/controllers/user-storage/contact-syncing/utils.d.cts +37 -0
  115. package/dist/controllers/user-storage/contact-syncing/utils.d.cts.map +1 -0
  116. package/dist/controllers/user-storage/contact-syncing/utils.d.mts +37 -0
  117. package/dist/controllers/user-storage/contact-syncing/utils.d.mts.map +1 -0
  118. package/dist/controllers/user-storage/contact-syncing/utils.mjs +60 -0
  119. package/dist/controllers/user-storage/contact-syncing/utils.mjs.map +1 -0
  120. package/dist/sdk/authentication-jwt-bearer/flow-siwe.cjs.map +1 -1
  121. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.cts.map +1 -1
  122. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.mts.map +1 -1
  123. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs.map +1 -1
  124. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs +22 -22
  125. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs.map +1 -1
  126. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.cts +4 -4
  127. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.cts.map +1 -1
  128. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.mts +4 -4
  129. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.mts.map +1 -1
  130. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +22 -22
  131. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs.map +1 -1
  132. package/dist/sdk/authentication-jwt-bearer/services.cjs.map +1 -1
  133. package/dist/sdk/authentication-jwt-bearer/services.d.cts.map +1 -1
  134. package/dist/sdk/authentication-jwt-bearer/services.d.mts.map +1 -1
  135. package/dist/sdk/authentication-jwt-bearer/services.mjs.map +1 -1
  136. package/dist/sdk/authentication-jwt-bearer/types.cjs.map +1 -1
  137. package/dist/sdk/authentication-jwt-bearer/types.d.cts +8 -8
  138. package/dist/sdk/authentication-jwt-bearer/types.d.cts.map +1 -1
  139. package/dist/sdk/authentication-jwt-bearer/types.d.mts +8 -8
  140. package/dist/sdk/authentication-jwt-bearer/types.d.mts.map +1 -1
  141. package/dist/sdk/authentication-jwt-bearer/types.mjs.map +1 -1
  142. package/dist/sdk/authentication.cjs +8 -11
  143. package/dist/sdk/authentication.cjs.map +1 -1
  144. package/dist/sdk/authentication.d.cts +4 -4
  145. package/dist/sdk/authentication.d.cts.map +1 -1
  146. package/dist/sdk/authentication.d.mts +4 -4
  147. package/dist/sdk/authentication.d.mts.map +1 -1
  148. package/dist/sdk/authentication.mjs +8 -11
  149. package/dist/sdk/authentication.mjs.map +1 -1
  150. package/dist/sdk/user-storage.cjs +38 -32
  151. package/dist/sdk/user-storage.cjs.map +1 -1
  152. package/dist/sdk/user-storage.d.cts +4 -3
  153. package/dist/sdk/user-storage.d.cts.map +1 -1
  154. package/dist/sdk/user-storage.d.mts +4 -3
  155. package/dist/sdk/user-storage.d.mts.map +1 -1
  156. package/dist/sdk/user-storage.mjs +38 -32
  157. package/dist/sdk/user-storage.mjs.map +1 -1
  158. package/dist/sdk/utils/messaging-signing-snap-requests.cjs +16 -4
  159. package/dist/sdk/utils/messaging-signing-snap-requests.cjs.map +1 -1
  160. package/dist/sdk/utils/messaging-signing-snap-requests.d.cts +2 -2
  161. package/dist/sdk/utils/messaging-signing-snap-requests.d.cts.map +1 -1
  162. package/dist/sdk/utils/messaging-signing-snap-requests.d.mts +2 -2
  163. package/dist/sdk/utils/messaging-signing-snap-requests.d.mts.map +1 -1
  164. package/dist/sdk/utils/messaging-signing-snap-requests.mjs +16 -4
  165. package/dist/sdk/utils/messaging-signing-snap-requests.mjs.map +1 -1
  166. package/dist/shared/storage-schema.cjs +4 -7
  167. package/dist/shared/storage-schema.cjs.map +1 -1
  168. package/dist/shared/storage-schema.d.cts +2 -1
  169. package/dist/shared/storage-schema.d.cts.map +1 -1
  170. package/dist/shared/storage-schema.d.mts +2 -1
  171. package/dist/shared/storage-schema.d.mts.map +1 -1
  172. package/dist/shared/storage-schema.mjs +3 -5
  173. package/dist/shared/storage-schema.mjs.map +1 -1
  174. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
- import type { AccountsControllerListAccountsAction, AccountsControllerUpdateAccountMetadataAction, AccountsControllerAccountRenamedEvent, AccountsControllerAccountAddedEvent } from "@metamask/accounts-controller";
1
+ import type { AccountsControllerListAccountsAction, AccountsControllerUpdateAccountMetadataAction, AccountsControllerAccountRenamedEvent, AccountsControllerUpdateAccountsAction } from "@metamask/accounts-controller";
2
+ import type { AddressBookControllerContactUpdatedEvent, AddressBookControllerContactDeletedEvent, AddressBookControllerActions, AddressBookControllerListAction, AddressBookControllerSetAction, AddressBookControllerDeleteAction } from "@metamask/address-book-controller";
2
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
3
4
  import { BaseController } from "@metamask/base-controller";
4
5
  import { type KeyringControllerGetStateAction, type KeyringControllerLockEvent, type KeyringControllerUnlockEvent, type KeyringControllerWithKeyringAction } from "@metamask/keyring-controller";
@@ -24,6 +25,14 @@ export type UserStorageControllerState = {
24
25
  * Condition used by UI to determine if account syncing is enabled.
25
26
  */
26
27
  isAccountSyncingEnabled: boolean;
28
+ /**
29
+ * Condition used by UI to determine if contact syncing is enabled.
30
+ */
31
+ isContactSyncingEnabled: boolean;
32
+ /**
33
+ * Condition used by UI to determine if contact syncing is in progress.
34
+ */
35
+ isContactSyncingInProgress: boolean;
27
36
  /**
28
37
  * Condition used to determine if account syncing has been dispatched at least once.
29
38
  * This is used for event listeners to determine if they should be triggered.
@@ -63,6 +72,23 @@ type ControllerConfig = {
63
72
  */
64
73
  onAccountSyncErroneousSituation?: (profileId: string, situationMessage: string, sentryContext?: Record<string, unknown>) => void;
65
74
  };
75
+ contactSyncing?: {
76
+ /**
77
+ * Callback that fires when contact sync updates a contact.
78
+ * This is used for analytics.
79
+ */
80
+ onContactUpdated?: (profileId: string) => void;
81
+ /**
82
+ * Callback that fires when contact sync deletes a contact.
83
+ * This is used for analytics.
84
+ */
85
+ onContactDeleted?: (profileId: string) => void;
86
+ /**
87
+ * Callback that fires when an erroneous situation happens during contact sync.
88
+ * This is used for analytics.
89
+ */
90
+ onContactSyncErroneousSituation?: (profileId: string, situationMessage: string, sentryContext?: Record<string, unknown>) => void;
91
+ };
66
92
  networkSyncing?: {
67
93
  maxNumberOfNetworksToAdd?: number;
68
94
  /**
@@ -107,10 +133,10 @@ export type UserStorageControllerPerformBatchSetStorage = ActionsObj['performBat
107
133
  export type UserStorageControllerPerformDeleteStorage = ActionsObj['performDeleteStorage'];
108
134
  export type UserStorageControllerPerformBatchDeleteStorage = ActionsObj['performBatchDeleteStorage'];
109
135
  export type UserStorageControllerGetStorageKey = ActionsObj['getStorageKey'];
110
- export type AllowedActions = KeyringControllerGetStateAction | HandleSnapRequest | AuthenticationControllerGetBearerToken | AuthenticationControllerGetSessionProfile | AuthenticationControllerPerformSignIn | AuthenticationControllerIsSignedIn | AccountsControllerListAccountsAction | AccountsControllerUpdateAccountMetadataAction | KeyringControllerWithKeyringAction | NetworkControllerGetStateAction | NetworkControllerAddNetworkAction | NetworkControllerRemoveNetworkAction | NetworkControllerUpdateNetworkAction;
136
+ export type AllowedActions = KeyringControllerGetStateAction | HandleSnapRequest | AuthenticationControllerGetBearerToken | AuthenticationControllerGetSessionProfile | AuthenticationControllerPerformSignIn | AuthenticationControllerIsSignedIn | AccountsControllerListAccountsAction | AccountsControllerUpdateAccountMetadataAction | AccountsControllerUpdateAccountsAction | KeyringControllerWithKeyringAction | NetworkControllerGetStateAction | NetworkControllerAddNetworkAction | NetworkControllerRemoveNetworkAction | NetworkControllerUpdateNetworkAction | AddressBookControllerListAction | AddressBookControllerSetAction | AddressBookControllerDeleteAction | AddressBookControllerActions;
111
137
  export type UserStorageControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, UserStorageControllerState>;
112
138
  export type Events = UserStorageControllerStateChangeEvent;
113
- export type AllowedEvents = UserStorageControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | AccountsControllerAccountAddedEvent | AccountsControllerAccountRenamedEvent | NetworkControllerNetworkRemovedEvent;
139
+ export type AllowedEvents = UserStorageControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | AccountsControllerAccountRenamedEvent | NetworkControllerNetworkRemovedEvent | AddressBookControllerContactUpdatedEvent | AddressBookControllerContactDeletedEvent;
114
140
  export type UserStorageControllerMessenger = RestrictedMessenger<typeof controllerName, Actions | AllowedActions, Events | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
115
141
  /**
116
142
  * Reusable controller that allows any team to store synchronized data for a given user.
@@ -136,59 +162,66 @@ export default class UserStorageController extends BaseController<typeof control
136
162
  * Developers can extend the entry path and entry name through the `schema.ts` file.
137
163
  *
138
164
  * @param path - string in the form of `${feature}.${key}` that matches schema
165
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
139
166
  * @returns the decrypted string contents found from user storage (or null if not found)
140
167
  */
141
- performGetStorage(path: UserStoragePathWithFeatureAndKey): Promise<string | null>;
168
+ performGetStorage(path: UserStoragePathWithFeatureAndKey, entropySourceId?: string): Promise<string | null>;
142
169
  /**
143
170
  * Allows retrieval of all stored data for a specific feature. Data stored is formatted as an array of strings.
144
171
  * Developers can extend the entry path through the `schema.ts` file.
145
172
  *
146
173
  * @param path - string in the form of `${feature}` that matches schema
174
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
147
175
  * @returns the array of decrypted string contents found from user storage (or null if not found)
148
176
  */
149
- performGetStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly): Promise<string[] | null>;
177
+ performGetStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly, entropySourceId?: string): Promise<string[] | null>;
150
178
  /**
151
179
  * Allows storage of user data. Data stored must be string formatted.
152
180
  * Developers can extend the entry path and entry name through the `schema.ts` file.
153
181
  *
154
182
  * @param path - string in the form of `${feature}.${key}` that matches schema
155
183
  * @param value - The string data you want to store.
184
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
156
185
  * @returns nothing. NOTE that an error is thrown if fails to store data.
157
186
  */
158
- performSetStorage(path: UserStoragePathWithFeatureAndKey, value: string): Promise<void>;
187
+ performSetStorage(path: UserStoragePathWithFeatureAndKey, value: string, entropySourceId?: string): Promise<void>;
159
188
  /**
160
189
  * Allows storage of multiple user data entries for one specific feature. Data stored must be string formatted.
161
190
  * Developers can extend the entry path through the `schema.ts` file.
162
191
  *
163
192
  * @param path - string in the form of `${feature}` that matches schema
164
193
  * @param values - data to store, in the form of an array of `[entryKey, entryValue]` pairs
194
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
165
195
  * @returns nothing. NOTE that an error is thrown if fails to store data.
166
196
  */
167
- performBatchSetStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: [UserStorageFeatureKeys<FeatureName>, string][]): Promise<void>;
197
+ performBatchSetStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: [UserStorageFeatureKeys<FeatureName>, string][], entropySourceId?: string): Promise<void>;
168
198
  /**
169
199
  * Allows deletion of user data. Developers can extend the entry path and entry name through the `schema.ts` file.
170
200
  *
171
201
  * @param path - string in the form of `${feature}.${key}` that matches schema
202
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
172
203
  * @returns nothing. NOTE that an error is thrown if fails to delete data.
173
204
  */
174
- performDeleteStorage(path: UserStoragePathWithFeatureAndKey): Promise<void>;
205
+ performDeleteStorage(path: UserStoragePathWithFeatureAndKey, entropySourceId?: string): Promise<void>;
175
206
  /**
176
207
  * Allows deletion of all user data entries for a specific feature.
177
208
  * Developers can extend the entry path through the `schema.ts` file.
178
209
  *
179
210
  * @param path - string in the form of `${feature}` that matches schema
211
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
180
212
  * @returns nothing. NOTE that an error is thrown if fails to delete data.
181
213
  */
182
- performDeleteStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly): Promise<void>;
214
+ performDeleteStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly, entropySourceId?: string): Promise<void>;
183
215
  /**
184
216
  * Allows delete of multiple user data entries for one specific feature. Data deleted must be string formatted.
185
217
  * Developers can extend the entry path through the `schema.ts` file.
186
218
  *
187
219
  * @param path - string in the form of `${feature}` that matches schema
188
220
  * @param values - data to store, in the form of an array of entryKey[]
221
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
189
222
  * @returns nothing. NOTE that an error is thrown if fails to store data.
190
223
  */
191
- performBatchDeleteStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: UserStorageFeatureKeys<FeatureName>[]): Promise<void>;
224
+ performBatchDeleteStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: UserStorageFeatureKeys<FeatureName>[], entropySourceId?: string): Promise<void>;
192
225
  /**
193
226
  * Retrieves the storage key, for internal use only!
194
227
  *
@@ -201,10 +234,23 @@ export default class UserStorageController extends BaseController<typeof control
201
234
  * It should not be used in production code.
202
235
  */
203
236
  flushStorageKeyCache(): void;
237
+ /**
238
+ * Lists all the available HD keyring metadata IDs.
239
+ * These IDs can be used in a multi-SRP context to segregate data specific to different SRPs.
240
+ *
241
+ * @returns A promise that resolves to an array of HD keyring metadata IDs.
242
+ */
243
+ listEntropySources(): Promise<string[]>;
204
244
  setIsBackupAndSyncFeatureEnabled(feature: keyof typeof BACKUPANDSYNC_FEATURES, enabled: boolean): Promise<void>;
205
245
  setHasAccountSyncingSyncedAtLeastOnce(hasAccountSyncingSyncedAtLeastOnce: boolean): Promise<void>;
206
246
  setIsAccountSyncingReadyToBeDispatched(isAccountSyncingReadyToBeDispatched: boolean): Promise<void>;
207
247
  setIsAccountSyncingInProgress(isAccountSyncingInProgress: boolean): Promise<void>;
248
+ /**
249
+ * Sets the isContactSyncingInProgress flag to prevent infinite loops during contact synchronization
250
+ *
251
+ * @param isContactSyncingInProgress - Whether contact syncing is in progress
252
+ */
253
+ setIsContactSyncingInProgress(isContactSyncingInProgress: boolean): Promise<void>;
208
254
  /**
209
255
  * Syncs the internal accounts list with the user storage accounts list.
210
256
  * This method is used to make sure that the internal accounts list is up-to-date with the user storage accounts list and vice-versa.
@@ -218,6 +264,12 @@ export default class UserStorageController extends BaseController<typeof control
218
264
  */
219
265
  saveInternalAccountToUserStorage(internalAccount: InternalAccount): Promise<void>;
220
266
  syncNetworks(): Promise<void>;
267
+ /**
268
+ * Syncs the address book list with the user storage address book list.
269
+ * This method is used to make sure that the address book list is up-to-date with the user storage address book list and vice-versa.
270
+ * It will add new contacts to the address book list, update/merge conflicting contacts and re-upload the results in some cases to the user storage.
271
+ */
272
+ syncContactsWithUserStorage(): Promise<void>;
221
273
  }
222
274
  export {};
223
275
  //# sourceMappingURL=UserStorageController.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserStorageController.d.cts","sourceRoot":"","sources":["../../../src/controllers/user-storage/UserStorageController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserStorageController.d.cts","sourceRoot":"","sources":["../../../src/controllers/user-storage/UserStorageController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oCAAoC,EACpC,6CAA6C,EAC7C,qCAAqC,EACrC,sCAAsC,EACvC,sCAAsC;AACvC,OAAO,KAAK,EACV,wCAAwC,EACxC,wCAAwC,EACxC,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,0CAA0C;AAC3C,OAAO,KAAK,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EAEpB,kCAAkC;AACnC,OAAO,EAAE,cAAc,EAAE,kCAAkC;AAC3D,OAAO,EAEL,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,kCAAkC,EACxC,qCAAqC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,uCAAuC;AACtE,OAAO,KAAK,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,oCAAoC,EACpC,oCAAoC,EACpC,oCAAoC,EACrC,qCAAqC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oCAAoC;AAOrE,OAAO,EAAE,sBAAsB,EAAE,wBAAoB;AAQrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,wCAAoC;AAC1E,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACpC,wCAAoC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,0CAAsC;AAElE,OAAO,KAAK,EACV,sCAAsC,EACtC,yCAAyC,EACzC,kCAAkC,EAClC,qCAAqC,EACtC,uDAAmD;AAEpD,QAAA,MAAM,cAAc,0BAA0B,CAAC;AAG/C,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,4BAA4B,EAAE,OAAO,CAAC;IACtC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;;;OAIG;IACH,kCAAkC,EAAE,OAAO,CAAC;IAC5C;;OAEG;IACH,mCAAmC,EAAE,OAAO,CAAC;IAC7C;;OAEG;IACH,0BAA0B,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,0BAS1B,CAAC;AAyCF,KAAK,gBAAgB,GAAG;IACtB,cAAc,CAAC,EAAE;QACf,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC;;;WAGG;QACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAE7C;;;WAGG;QACH,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAEnD;;;WAGG;QACH,+BAA+B,CAAC,EAAE,CAChC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,IAAI,CAAC;KACX,CAAC;IACF,cAAc,CAAC,EAAE;QACf;;;WAGG;QACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAE/C;;;WAGG;QACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAE/C;;;WAGG;QACH,+BAA+B,CAAC,EAAE,CAChC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,IAAI,CAAC;KACX,CAAC;IACF,cAAc,CAAC,EAAE;QACf,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC;;;;;;WAMG;QACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAC9D;;;;;;WAMG;QACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChE;;;;;;WAMG;QACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE,CAAC;CACH,CAAC;AAGF,KAAK,gBAAgB,CAAC,UAAU,SAAS,MAAM,qBAAqB,IAAI;KACrE,CAAC,IAAI,UAAU,GAAG;QACjB,IAAI,EAAE,GAAG,OAAO,cAAc,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;KACnC;CACF,CAAC;AACF,KAAK,UAAU,GAAG,gBAAgB,CAC9B,mBAAmB,GACnB,oCAAoC,GACpC,mBAAmB,GACnB,wBAAwB,GACxB,sBAAsB,GACtB,2BAA2B,GAC3B,eAAe,CAClB,CAAC;AACF,MAAM,MAAM,mCAAmC,GAAG,wBAAwB,CACxE,OAAO,cAAc,EACrB,0BAA0B,CAC3B,CAAC;AACF,MAAM,MAAM,OAAO,GACf,UAAU,CAAC,MAAM,UAAU,CAAC,GAC5B,mCAAmC,CAAC;AACxC,MAAM,MAAM,sCAAsC,GAChD,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClC,MAAM,MAAM,uDAAuD,GACjE,UAAU,CAAC,oCAAoC,CAAC,CAAC;AACnD,MAAM,MAAM,sCAAsC,GAChD,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAClC,MAAM,MAAM,2CAA2C,GACrD,UAAU,CAAC,wBAAwB,CAAC,CAAC;AACvC,MAAM,MAAM,yCAAyC,GACnD,UAAU,CAAC,sBAAsB,CAAC,CAAC;AACrC,MAAM,MAAM,8CAA8C,GACxD,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAC1C,MAAM,MAAM,kCAAkC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAE7E,MAAM,MAAM,cAAc,GAEtB,+BAA+B,GAE/B,iBAAiB,GAEjB,sCAAsC,GACtC,yCAAyC,GACzC,qCAAqC,GACrC,kCAAkC,GAElC,oCAAoC,GACpC,6CAA6C,GAC7C,sCAAsC,GACtC,kCAAkC,GAElC,+BAA+B,GAC/B,iCAAiC,GACjC,oCAAoC,GACpC,oCAAoC,GAEpC,+BAA+B,GAC/B,8BAA8B,GAC9B,iCAAiC,GACjC,4BAA4B,CAAC;AAGjC,MAAM,MAAM,qCAAqC,GAAG,0BAA0B,CAC5E,OAAO,cAAc,EACrB,0BAA0B,CAC3B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,qCAAqC,CAAC;AAE3D,MAAM,MAAM,aAAa,GACrB,qCAAqC,GACrC,0BAA0B,GAC1B,4BAA4B,GAE5B,qCAAqC,GAErC,oCAAoC,GAEpC,wCAAwC,GACxC,wCAAwC,CAAC;AAG7C,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,CAC9D,OAAO,cAAc,EACrB,OAAO,GAAG,cAAc,EACxB,MAAM,GAAG,aAAa,EACtB,cAAc,CAAC,MAAM,CAAC,EACtB,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,cAAc,CAC/D,OAAO,cAAc,EACrB,0BAA0B,EAC1B,8BAA8B,CAC/B;;gBAoDa,EACV,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,8BAA8B,CAAC;QAC1C,KAAK,CAAC,EAAE,0BAA0B,CAAC;QACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAC1B,GAAG,CAAC,EAAE;YACJ,uBAAuB,CAAC,EAAE,OAAO,CAAC;SACnC,CAAC;QACF,kBAAkB,CAAC,EAAE,YAAY,CAAC;KACnC;IAgHD;;;;;;;OAOG;IACU,iBAAiB,CAC5B,IAAI,EAAE,gCAAgC,EACtC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQzB;;;;;;;OAOG;IACU,kCAAkC,CAC7C,IAAI,EAAE,8BAA8B,EACpC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC;IAQ3B;;;;;;;;OAQG;IACU,iBAAiB,CAC5B,IAAI,EAAE,gCAAgC,EACtC,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;OAQG;IACU,sBAAsB,CACjC,WAAW,SAAS,8BAA8B,EAElD,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,EAAE,EACvD,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;OAMG;IACU,oBAAoB,CAC/B,IAAI,EAAE,gCAAgC,EACtC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;OAOG;IACU,qCAAqC,CAChD,IAAI,EAAE,8BAA8B,EACpC,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;OAQG;IACU,yBAAyB,CACpC,WAAW,SAAS,8BAA8B,EAElD,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAAE,EAC7C,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7C;;;;OAIG;IACI,oBAAoB,IAAI,IAAI;IAInC;;;;;OAKG;IACG,kBAAkB;IAkDX,gCAAgC,CAC3C,OAAO,EAAE,MAAM,OAAO,sBAAsB,EAC5C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IA6CV,qCAAqC,CACzC,kCAAkC,EAAE,OAAO,GAC1C,OAAO,CAAC,IAAI,CAAC;IAOV,sCAAsC,CAC1C,mCAAmC,EAAE,OAAO,GAC3C,OAAO,CAAC,IAAI,CAAC;IAOV,6BAA6B,CACjC,0BAA0B,EAAE,OAAO,GAClC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;OAIG;IACG,6BAA6B,CACjC,0BAA0B,EAAE,OAAO,GAClC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;OAIG;IACG,mCAAmC,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1D;;;;OAIG;IACG,gCAAgC,CACpC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC;IAOV,YAAY;IAwBlB;;;;OAIG;IACG,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BnD"}
@@ -1,4 +1,5 @@
1
- import type { AccountsControllerListAccountsAction, AccountsControllerUpdateAccountMetadataAction, AccountsControllerAccountRenamedEvent, AccountsControllerAccountAddedEvent } from "@metamask/accounts-controller";
1
+ import type { AccountsControllerListAccountsAction, AccountsControllerUpdateAccountMetadataAction, AccountsControllerAccountRenamedEvent, AccountsControllerUpdateAccountsAction } from "@metamask/accounts-controller";
2
+ import type { AddressBookControllerContactUpdatedEvent, AddressBookControllerContactDeletedEvent, AddressBookControllerActions, AddressBookControllerListAction, AddressBookControllerSetAction, AddressBookControllerDeleteAction } from "@metamask/address-book-controller";
2
3
  import type { ControllerGetStateAction, ControllerStateChangeEvent, RestrictedMessenger } from "@metamask/base-controller";
3
4
  import { BaseController } from "@metamask/base-controller";
4
5
  import { type KeyringControllerGetStateAction, type KeyringControllerLockEvent, type KeyringControllerUnlockEvent, type KeyringControllerWithKeyringAction } from "@metamask/keyring-controller";
@@ -24,6 +25,14 @@ export type UserStorageControllerState = {
24
25
  * Condition used by UI to determine if account syncing is enabled.
25
26
  */
26
27
  isAccountSyncingEnabled: boolean;
28
+ /**
29
+ * Condition used by UI to determine if contact syncing is enabled.
30
+ */
31
+ isContactSyncingEnabled: boolean;
32
+ /**
33
+ * Condition used by UI to determine if contact syncing is in progress.
34
+ */
35
+ isContactSyncingInProgress: boolean;
27
36
  /**
28
37
  * Condition used to determine if account syncing has been dispatched at least once.
29
38
  * This is used for event listeners to determine if they should be triggered.
@@ -63,6 +72,23 @@ type ControllerConfig = {
63
72
  */
64
73
  onAccountSyncErroneousSituation?: (profileId: string, situationMessage: string, sentryContext?: Record<string, unknown>) => void;
65
74
  };
75
+ contactSyncing?: {
76
+ /**
77
+ * Callback that fires when contact sync updates a contact.
78
+ * This is used for analytics.
79
+ */
80
+ onContactUpdated?: (profileId: string) => void;
81
+ /**
82
+ * Callback that fires when contact sync deletes a contact.
83
+ * This is used for analytics.
84
+ */
85
+ onContactDeleted?: (profileId: string) => void;
86
+ /**
87
+ * Callback that fires when an erroneous situation happens during contact sync.
88
+ * This is used for analytics.
89
+ */
90
+ onContactSyncErroneousSituation?: (profileId: string, situationMessage: string, sentryContext?: Record<string, unknown>) => void;
91
+ };
66
92
  networkSyncing?: {
67
93
  maxNumberOfNetworksToAdd?: number;
68
94
  /**
@@ -107,10 +133,10 @@ export type UserStorageControllerPerformBatchSetStorage = ActionsObj['performBat
107
133
  export type UserStorageControllerPerformDeleteStorage = ActionsObj['performDeleteStorage'];
108
134
  export type UserStorageControllerPerformBatchDeleteStorage = ActionsObj['performBatchDeleteStorage'];
109
135
  export type UserStorageControllerGetStorageKey = ActionsObj['getStorageKey'];
110
- export type AllowedActions = KeyringControllerGetStateAction | HandleSnapRequest | AuthenticationControllerGetBearerToken | AuthenticationControllerGetSessionProfile | AuthenticationControllerPerformSignIn | AuthenticationControllerIsSignedIn | AccountsControllerListAccountsAction | AccountsControllerUpdateAccountMetadataAction | KeyringControllerWithKeyringAction | NetworkControllerGetStateAction | NetworkControllerAddNetworkAction | NetworkControllerRemoveNetworkAction | NetworkControllerUpdateNetworkAction;
136
+ export type AllowedActions = KeyringControllerGetStateAction | HandleSnapRequest | AuthenticationControllerGetBearerToken | AuthenticationControllerGetSessionProfile | AuthenticationControllerPerformSignIn | AuthenticationControllerIsSignedIn | AccountsControllerListAccountsAction | AccountsControllerUpdateAccountMetadataAction | AccountsControllerUpdateAccountsAction | KeyringControllerWithKeyringAction | NetworkControllerGetStateAction | NetworkControllerAddNetworkAction | NetworkControllerRemoveNetworkAction | NetworkControllerUpdateNetworkAction | AddressBookControllerListAction | AddressBookControllerSetAction | AddressBookControllerDeleteAction | AddressBookControllerActions;
111
137
  export type UserStorageControllerStateChangeEvent = ControllerStateChangeEvent<typeof controllerName, UserStorageControllerState>;
112
138
  export type Events = UserStorageControllerStateChangeEvent;
113
- export type AllowedEvents = UserStorageControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | AccountsControllerAccountAddedEvent | AccountsControllerAccountRenamedEvent | NetworkControllerNetworkRemovedEvent;
139
+ export type AllowedEvents = UserStorageControllerStateChangeEvent | KeyringControllerLockEvent | KeyringControllerUnlockEvent | AccountsControllerAccountRenamedEvent | NetworkControllerNetworkRemovedEvent | AddressBookControllerContactUpdatedEvent | AddressBookControllerContactDeletedEvent;
114
140
  export type UserStorageControllerMessenger = RestrictedMessenger<typeof controllerName, Actions | AllowedActions, Events | AllowedEvents, AllowedActions['type'], AllowedEvents['type']>;
115
141
  /**
116
142
  * Reusable controller that allows any team to store synchronized data for a given user.
@@ -136,59 +162,66 @@ export default class UserStorageController extends BaseController<typeof control
136
162
  * Developers can extend the entry path and entry name through the `schema.ts` file.
137
163
  *
138
164
  * @param path - string in the form of `${feature}.${key}` that matches schema
165
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
139
166
  * @returns the decrypted string contents found from user storage (or null if not found)
140
167
  */
141
- performGetStorage(path: UserStoragePathWithFeatureAndKey): Promise<string | null>;
168
+ performGetStorage(path: UserStoragePathWithFeatureAndKey, entropySourceId?: string): Promise<string | null>;
142
169
  /**
143
170
  * Allows retrieval of all stored data for a specific feature. Data stored is formatted as an array of strings.
144
171
  * Developers can extend the entry path through the `schema.ts` file.
145
172
  *
146
173
  * @param path - string in the form of `${feature}` that matches schema
174
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
147
175
  * @returns the array of decrypted string contents found from user storage (or null if not found)
148
176
  */
149
- performGetStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly): Promise<string[] | null>;
177
+ performGetStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly, entropySourceId?: string): Promise<string[] | null>;
150
178
  /**
151
179
  * Allows storage of user data. Data stored must be string formatted.
152
180
  * Developers can extend the entry path and entry name through the `schema.ts` file.
153
181
  *
154
182
  * @param path - string in the form of `${feature}.${key}` that matches schema
155
183
  * @param value - The string data you want to store.
184
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
156
185
  * @returns nothing. NOTE that an error is thrown if fails to store data.
157
186
  */
158
- performSetStorage(path: UserStoragePathWithFeatureAndKey, value: string): Promise<void>;
187
+ performSetStorage(path: UserStoragePathWithFeatureAndKey, value: string, entropySourceId?: string): Promise<void>;
159
188
  /**
160
189
  * Allows storage of multiple user data entries for one specific feature. Data stored must be string formatted.
161
190
  * Developers can extend the entry path through the `schema.ts` file.
162
191
  *
163
192
  * @param path - string in the form of `${feature}` that matches schema
164
193
  * @param values - data to store, in the form of an array of `[entryKey, entryValue]` pairs
194
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
165
195
  * @returns nothing. NOTE that an error is thrown if fails to store data.
166
196
  */
167
- performBatchSetStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: [UserStorageFeatureKeys<FeatureName>, string][]): Promise<void>;
197
+ performBatchSetStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: [UserStorageFeatureKeys<FeatureName>, string][], entropySourceId?: string): Promise<void>;
168
198
  /**
169
199
  * Allows deletion of user data. Developers can extend the entry path and entry name through the `schema.ts` file.
170
200
  *
171
201
  * @param path - string in the form of `${feature}.${key}` that matches schema
202
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
172
203
  * @returns nothing. NOTE that an error is thrown if fails to delete data.
173
204
  */
174
- performDeleteStorage(path: UserStoragePathWithFeatureAndKey): Promise<void>;
205
+ performDeleteStorage(path: UserStoragePathWithFeatureAndKey, entropySourceId?: string): Promise<void>;
175
206
  /**
176
207
  * Allows deletion of all user data entries for a specific feature.
177
208
  * Developers can extend the entry path through the `schema.ts` file.
178
209
  *
179
210
  * @param path - string in the form of `${feature}` that matches schema
211
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
180
212
  * @returns nothing. NOTE that an error is thrown if fails to delete data.
181
213
  */
182
- performDeleteStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly): Promise<void>;
214
+ performDeleteStorageAllFeatureEntries(path: UserStoragePathWithFeatureOnly, entropySourceId?: string): Promise<void>;
183
215
  /**
184
216
  * Allows delete of multiple user data entries for one specific feature. Data deleted must be string formatted.
185
217
  * Developers can extend the entry path through the `schema.ts` file.
186
218
  *
187
219
  * @param path - string in the form of `${feature}` that matches schema
188
220
  * @param values - data to store, in the form of an array of entryKey[]
221
+ * @param entropySourceId - The entropy source ID used to generate the encryption key.
189
222
  * @returns nothing. NOTE that an error is thrown if fails to store data.
190
223
  */
191
- performBatchDeleteStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: UserStorageFeatureKeys<FeatureName>[]): Promise<void>;
224
+ performBatchDeleteStorage<FeatureName extends UserStoragePathWithFeatureOnly>(path: FeatureName, values: UserStorageFeatureKeys<FeatureName>[], entropySourceId?: string): Promise<void>;
192
225
  /**
193
226
  * Retrieves the storage key, for internal use only!
194
227
  *
@@ -201,10 +234,23 @@ export default class UserStorageController extends BaseController<typeof control
201
234
  * It should not be used in production code.
202
235
  */
203
236
  flushStorageKeyCache(): void;
237
+ /**
238
+ * Lists all the available HD keyring metadata IDs.
239
+ * These IDs can be used in a multi-SRP context to segregate data specific to different SRPs.
240
+ *
241
+ * @returns A promise that resolves to an array of HD keyring metadata IDs.
242
+ */
243
+ listEntropySources(): Promise<string[]>;
204
244
  setIsBackupAndSyncFeatureEnabled(feature: keyof typeof BACKUPANDSYNC_FEATURES, enabled: boolean): Promise<void>;
205
245
  setHasAccountSyncingSyncedAtLeastOnce(hasAccountSyncingSyncedAtLeastOnce: boolean): Promise<void>;
206
246
  setIsAccountSyncingReadyToBeDispatched(isAccountSyncingReadyToBeDispatched: boolean): Promise<void>;
207
247
  setIsAccountSyncingInProgress(isAccountSyncingInProgress: boolean): Promise<void>;
248
+ /**
249
+ * Sets the isContactSyncingInProgress flag to prevent infinite loops during contact synchronization
250
+ *
251
+ * @param isContactSyncingInProgress - Whether contact syncing is in progress
252
+ */
253
+ setIsContactSyncingInProgress(isContactSyncingInProgress: boolean): Promise<void>;
208
254
  /**
209
255
  * Syncs the internal accounts list with the user storage accounts list.
210
256
  * This method is used to make sure that the internal accounts list is up-to-date with the user storage accounts list and vice-versa.
@@ -218,6 +264,12 @@ export default class UserStorageController extends BaseController<typeof control
218
264
  */
219
265
  saveInternalAccountToUserStorage(internalAccount: InternalAccount): Promise<void>;
220
266
  syncNetworks(): Promise<void>;
267
+ /**
268
+ * Syncs the address book list with the user storage address book list.
269
+ * This method is used to make sure that the address book list is up-to-date with the user storage address book list and vice-versa.
270
+ * It will add new contacts to the address book list, update/merge conflicting contacts and re-upload the results in some cases to the user storage.
271
+ */
272
+ syncContactsWithUserStorage(): Promise<void>;
221
273
  }
222
274
  export {};
223
275
  //# sourceMappingURL=UserStorageController.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserStorageController.d.mts","sourceRoot":"","sources":["../../../src/controllers/user-storage/UserStorageController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserStorageController.d.mts","sourceRoot":"","sources":["../../../src/controllers/user-storage/UserStorageController.ts"],"names":[],"mappings":"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"}