@bsv/wallet-toolbox 1.2.35 → 1.2.37

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.
@@ -4,28 +4,57 @@ import { PrivilegedKeyManager } from './sdk/PrivilegedKeyManager';
4
4
  * Number of rounds used in PBKDF2 for deriving password keys.
5
5
  */
6
6
  export declare const PBKDF2_NUM_ROUNDS = 7777;
7
+ /**
8
+ * Unique Identifier for the default profile (16 zero bytes).
9
+ */
10
+ export declare const DEFAULT_PROFILE_ID: number[];
11
+ /**
12
+ * Describes the structure of a user profile within the wallet.
13
+ */
14
+ export interface Profile {
15
+ /**
16
+ * User-defined name for the profile.
17
+ */
18
+ name: string;
19
+ /**
20
+ * Unique 16-byte identifier for the profile.
21
+ */
22
+ id: number[];
23
+ /**
24
+ * 32-byte random pad XOR'd with the root primary key to derive the profile's primary key.
25
+ */
26
+ primaryPad: number[];
27
+ /**
28
+ * 32-byte random pad XOR'd with the root privileged key to derive the profile's privileged key.
29
+ */
30
+ privilegedPad: number[];
31
+ /**
32
+ * Timestamp (seconds since epoch) when the profile was created.
33
+ */
34
+ createdAt: number;
35
+ }
7
36
  /**
8
37
  * Describes the structure of a User Management Protocol (UMP) token.
9
38
  */
10
39
  export interface UMPToken {
11
40
  /**
12
- * Primary key encrypted by the XOR of the password and presentation keys.
41
+ * Root Primary key encrypted by the XOR of the password and presentation keys.
13
42
  */
14
43
  passwordPresentationPrimary: number[];
15
44
  /**
16
- * Primary key encrypted by the XOR of the password and recovery keys.
45
+ * Root Primary key encrypted by the XOR of the password and recovery keys.
17
46
  */
18
47
  passwordRecoveryPrimary: number[];
19
48
  /**
20
- * Primary key encrypted by the XOR of the presentation and recovery keys.
49
+ * Root Primary key encrypted by the XOR of the presentation and recovery keys.
21
50
  */
22
51
  presentationRecoveryPrimary: number[];
23
52
  /**
24
- * Privileged key encrypted by the XOR of the password and primary keys.
53
+ * Root Privileged key encrypted by the XOR of the password and primary keys.
25
54
  */
26
55
  passwordPrimaryPrivileged: number[];
27
56
  /**
28
- * Privileged key encrypted by the XOR of the presentation and recovery keys.
57
+ * Root Privileged key encrypted by the XOR of the presentation and recovery keys.
29
58
  */
30
59
  presentationRecoveryPrivileged: number[];
31
60
  /**
@@ -41,17 +70,22 @@ export interface UMPToken {
41
70
  */
42
71
  recoveryHash: number[];
43
72
  /**
44
- * A copy of the presentation key encrypted with the privileged key.
73
+ * A copy of the presentation key encrypted with the root privileged key.
45
74
  */
46
75
  presentationKeyEncrypted: number[];
47
76
  /**
48
- * A copy of the recovery key encrypted with the privileged key.
77
+ * A copy of the recovery key encrypted with the root privileged key.
49
78
  */
50
79
  recoveryKeyEncrypted: number[];
51
80
  /**
52
- * A copy of the password key encrypted with the privileged key.
81
+ * A copy of the password key encrypted with the root privileged key.
53
82
  */
54
83
  passwordKeyEncrypted: number[];
84
+ /**
85
+ * Optional field containing the encrypted profile data.
86
+ * JSON string -> Encrypted Bytes using root privileged key.
87
+ */
88
+ profilesEncrypted?: number[];
55
89
  /**
56
90
  * Describes the token's location on-chain, if it's already been published.
57
91
  */
@@ -80,13 +114,14 @@ export interface UMPTokenInteractor {
80
114
  /**
81
115
  * Creates (and optionally consumes the previous version of) a UMP token on-chain.
82
116
  *
83
- * @param wallet The wallet that might be used to create a new token.
117
+ * @param wallet The wallet that might be used to create a new token (MUST be operating under the DEFAULT profile).
84
118
  * @param adminOriginator The domain name of the administrative originator.
85
119
  * @param token The new UMP token to create.
86
120
  * @param oldTokenToConsume If provided, the old token that must be consumed in the same transaction.
87
121
  * @returns The newly created outpoint.
88
122
  */
89
- buildAndSend: (wallet: WalletInterface, adminOriginator: OriginatorDomainNameStringUnder250Bytes, token: UMPToken, oldTokenToConsume?: UMPToken) => Promise<OutpointString>;
123
+ buildAndSend: (wallet: WalletInterface, // This wallet MUST be the one built for the default profile
124
+ adminOriginator: OriginatorDomainNameStringUnder250Bytes, token: UMPToken, oldTokenToConsume?: UMPToken) => Promise<OutpointString>;
90
125
  }
91
126
  /**
92
127
  * @class OverlayUMPTokenInteractor
@@ -139,13 +174,14 @@ export declare class OverlayUMPTokenInteractor implements UMPTokenInteractor {
139
174
  * then broadcast and published under the `tm_users` topic using a SHIP broadcast, ensuring
140
175
  * overlay participants see the updated token.
141
176
  *
142
- * @param wallet The wallet used to build and sign the transaction.
177
+ * @param wallet The wallet used to build and sign the transaction (MUST be operating under the DEFAULT profile).
143
178
  * @param adminOriginator The domain/FQDN of the administrative originator (wallet operator).
144
179
  * @param token The new UMPToken to create on-chain.
145
180
  * @param oldTokenToConsume Optionally, an existing token to consume/spend in the same transaction.
146
181
  * @returns The outpoint of the newly created UMP token (e.g. "abcd1234...ef.0").
147
182
  */
148
- buildAndSend(wallet: WalletInterface, adminOriginator: OriginatorDomainNameStringUnder250Bytes, token: UMPToken, oldTokenToConsume?: UMPToken): Promise<OutpointString>;
183
+ buildAndSend(wallet: WalletInterface, // This wallet MUST be the one built for the default profile
184
+ adminOriginator: OriginatorDomainNameStringUnder250Bytes, token: UMPToken, oldTokenToConsume?: UMPToken): Promise<OutpointString>;
149
185
  /**
150
186
  * Attempts to parse a LookupAnswer from the UMP lookup service. If successful,
151
187
  * extracts the token fields from the resulting transaction and constructs
@@ -164,11 +200,12 @@ export declare class OverlayUMPTokenInteractor implements UMPTokenInteractor {
164
200
  }
165
201
  /**
166
202
  * Manages a "CWI-style" wallet that uses a UMP token and a
167
- * multi-key authentication scheme (password, presentation key, and recovery key).
203
+ * multi-key authentication scheme (password, presentation key, and recovery key),
204
+ * supporting multiple user profiles under a single account.
168
205
  */
169
206
  export declare class CWIStyleWalletManager implements WalletInterface {
170
207
  /**
171
- * Whether the user is currently authenticated.
208
+ * Whether the user is currently authenticated (i.e., root keys are available).
172
209
  */
173
210
  authenticated: boolean;
174
211
  /**
@@ -192,199 +229,182 @@ export declare class CWIStyleWalletManager implements WalletInterface {
192
229
  */
193
230
  private passwordRetriever;
194
231
  /**
195
- * An optional function that funds a new Wallet after the new-user flow, before the system proceeds.
196
- * Allows integration with faucets, and provides the presentation key for use in claiming faucet funds
197
- * that may be bound to it.
232
+ * Optional function to fund a new Wallet after the new-user flow.
198
233
  */
199
234
  private newWalletFunder?;
200
235
  /**
201
- * Builds the underlying wallet once the user has been authenticated.
236
+ * Builds the underlying wallet for a specific profile.
202
237
  */
203
238
  private walletBuilder;
204
239
  /**
205
- * The current mode of authentication:
206
- * - 'presentation-key-and-password'
207
- * - 'presentation-key-and-recovery-key'
208
- * - 'recovery-key-and-password'
240
+ * Current mode of authentication.
209
241
  */
210
242
  authenticationMode: 'presentation-key-and-password' | 'presentation-key-and-recovery-key' | 'recovery-key-and-password';
211
243
  /**
212
- * Indicates whether this is a new user or an existing user flow:
213
- * - 'new-user'
214
- * - 'existing-user'
244
+ * Indicates new user or existing user flow.
215
245
  */
216
246
  authenticationFlow: 'new-user' | 'existing-user';
217
247
  /**
218
- * The current UMP token in use (representing the user's keys on-chain).
248
+ * The current UMP token in use.
219
249
  */
220
250
  private currentUMPToken?;
221
251
  /**
222
- * The presentation key, temporarily retained after being provided until authenticated.
252
+ * Temporarily retained presentation key.
223
253
  */
224
254
  private presentationKey?;
225
255
  /**
226
- * The recovery key, temporarily retained after being provided until authenticated.
256
+ * Temporarily retained recovery key.
227
257
  */
228
258
  private recoveryKey?;
229
259
  /**
230
- * The user's primary key, which is used to operate the underlying wallet.
231
- * It is also stored within state snapshots.
260
+ * The user's *root* primary key, derived from authentication factors.
232
261
  */
233
- private primaryKey?;
262
+ private rootPrimaryKey?;
234
263
  /**
235
- * The underlying wallet that handles the
236
- * actual signing, encryption, and other wallet operations.
264
+ * The currently active profile ID (null or DEFAULT_PROFILE_ID means default profile).
265
+ */
266
+ private activeProfileId;
267
+ /**
268
+ * List of loaded non-default profiles.
269
+ */
270
+ private profiles;
271
+ /**
272
+ * The underlying wallet instance for the *active* profile.
237
273
  */
238
274
  private underlying?;
239
275
  /**
240
- * Privileged key manager associated with the underlying wallet, used for
241
- * short-term administrative tasks (e.g. re-wrapping or rotating keys).
276
+ * Privileged key manager associated with the *root* keys, aware of the active profile.
242
277
  */
243
- private underlyingPrivilegedKeyManager?;
278
+ private rootPrivilegedKeyManager?;
244
279
  /**
245
280
  * Constructs a new CWIStyleWalletManager.
246
281
  *
247
282
  * @param adminOriginator The domain name of the administrative originator.
248
- * @param walletBuilder A function that can build an underlying wallet instance
249
- * from a primary key and a privileged key manager
250
- * @param interactor An instance of UMPTokenInteractor capable of managing UMP tokens.
251
- * @param recoveryKeySaver A function that can persist or display a newly generated recovery key.
252
- * @param passwordRetriever A function to request the user's password, given a reason and a test function.
253
- * @param newWalletFunder An optional function called with the presentation key and a new Wallet post-construction to fund it before use.
254
- * @param stateSnapshot If provided, a previously saved snapshot of the wallet's state.
255
- */
256
- constructor(adminOriginator: OriginatorDomainNameStringUnder250Bytes, walletBuilder: (primaryKey: number[], privilegedKeyManager: PrivilegedKeyManager) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean) => Promise<string>, newWalletFunder?: (presentationKey: number[], wallet: WalletInterface, adminOriginator: OriginatorDomainNameStringUnder250Bytes) => Promise<void>, stateSnapshot?: number[]);
257
- /**
258
- * Provides the presentation key in an authentication mode that requires it.
259
- * If a UMP token is found based on the key's hash, this is an existing-user flow.
260
- * Otherwise, it is treated as a new-user flow.
261
- *
262
- * @param key The user's presentation key (32 bytes).
263
- * @throws {Error} if user is already authenticated, or if the current mode does not require a presentation key.
283
+ * @param walletBuilder A function that can build an underlying wallet instance for a profile.
284
+ * @param interactor An instance of UMPTokenInteractor.
285
+ * @param recoveryKeySaver A function to persist a new recovery key.
286
+ * @param passwordRetriever A function to request the user's password.
287
+ * @param newWalletFunder Optional function to fund a new wallet.
288
+ * @param stateSnapshot Optional previously saved state snapshot.
289
+ */
290
+ constructor(adminOriginator: OriginatorDomainNameStringUnder250Bytes, walletBuilder: (profilePrimaryKey: number[], profilePrivilegedKeyManager: PrivilegedKeyManager, profileId: number[]) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean) => Promise<string>, newWalletFunder?: (presentationKey: number[], wallet: WalletInterface, // Default profile wallet
291
+ adminOriginator: OriginatorDomainNameStringUnder250Bytes) => Promise<void>, stateSnapshot?: number[]);
292
+ /**
293
+ * Provides the presentation key.
264
294
  */
265
295
  providePresentationKey(key: number[]): Promise<void>;
266
296
  /**
267
- * Provides the password in an authentication mode that requires it.
268
- *
269
- * - **Existing user**:
270
- * Decrypts the primary key using the provided password (and either the presentation key or recovery key, depending on the mode).
271
- * Then builds the underlying wallet, marking the user as authenticated.
272
- *
273
- * - **New user**:
274
- * Generates a new UMP token with fresh keys (primary, privileged, recovery). Publishes it on-chain and builds the wallet.
275
- *
276
- * @param password The user's password as a string.
277
- * @throws {Error} If the user is already authenticated, if the mode does not use a password, or if required keys are missing.
297
+ * Provides the password.
278
298
  */
279
299
  providePassword(password: string): Promise<void>;
280
300
  /**
281
- * Provides the recovery key in an authentication flow that requires it.
282
- *
283
- * @param recoveryKey The user's recovery key (32 bytes).
284
- * @throws {Error} if user is already authenticated, if the mode does not use a recovery key,
285
- * or if a required presentation key is missing in "presentation-key-and-recovery-key" mode.
301
+ * Provides the recovery key.
286
302
  */
287
303
  provideRecoveryKey(recoveryKey: number[]): Promise<void>;
288
304
  /**
289
- * Saves the current wallet state (including the current UMP token and primary key)
290
- * into an encrypted snapshot. This snapshot can be stored locally and later passed
291
- * to `loadSnapshot` to restore the wallet state without re-authenticating manually.
305
+ * Saves the current wallet state (root key, UMP token, active profile) into an encrypted snapshot.
306
+ * Version 2 format: [1 byte version=2] + [32 byte snapshot key] + [16 byte activeProfileId] + [encrypted payload]
307
+ * Encrypted Payload: [32 byte rootPrimaryKey] + [varint token length + serialized UMP token]
292
308
  *
293
- * @remarks
294
- * Storing the snapshot provides a fully authenticated state.
295
- * This **must** be securely stored (e.g. system keychain or encrypted file).
296
- * If attackers gain access to this snapshot, they can fully control the wallet.
297
- *
298
- * @returns An array of bytes representing the encrypted snapshot.
299
- * @throws {Error} if no primary key or token is currently set.
309
+ * @returns Encrypted snapshot bytes.
300
310
  */
301
311
  saveSnapshot(): number[];
302
312
  /**
303
- * Loads a previously saved state snapshot (e.g. from `saveSnapshot`).
304
- * Upon success, the wallet becomes authenticated without needing to re-enter keys.
313
+ * Loads a previously saved state snapshot. Restores root key, UMP token, profiles, and active profile.
314
+ * Handles Version 1 (legacy) and Version 2 formats.
305
315
  *
306
- * @param snapshot An array of bytes that was previously produced by `saveSnapshot`.
307
- * @throws {Error} If the snapshot format is invalid or decryption fails.
316
+ * @param snapshot Encrypted snapshot bytes.
308
317
  */
309
318
  loadSnapshot(snapshot: number[]): Promise<void>;
310
319
  /**
311
- * Destroys the underlying wallet, returning to a default state
320
+ * Destroys the wallet state, clearing keys, tokens, and profiles.
312
321
  */
313
322
  destroy(): void;
314
323
  /**
315
- * Changes the user's password, re-wrapping the primary and privileged keys with the new password factor.
324
+ * Lists all available profiles, including the default profile.
325
+ * @returns Array of profile info objects, including an 'active' flag.
326
+ */
327
+ listProfiles(): Array<{
328
+ id: number[];
329
+ name: string;
330
+ createdAt: number | null;
331
+ active: boolean;
332
+ }>;
333
+ /**
334
+ * Adds a new profile with the given name.
335
+ * Generates necessary pads and updates the UMP token.
336
+ * Does not switch to the new profile automatically.
316
337
  *
317
- * @param newPassword The user's new password as a string.
318
- * @throws {Error} If the user is not authenticated, or if underlying token references are missing.
338
+ * @param name The desired name for the new profile.
339
+ * @returns The ID of the newly created profile.
319
340
  */
320
- changePassword(newPassword: string): Promise<void>;
341
+ addProfile(name: string): Promise<number[]>;
321
342
  /**
322
- * Retrieves the current recovery key.
343
+ * Deletes a profile by its ID.
344
+ * Cannot delete the default profile. If the active profile is deleted,
345
+ * it switches back to the default profile.
323
346
  *
324
- * @throws {Error} If the user is not authenticated, or if underlying token references are missing.
347
+ * @param profileId The 16-byte ID of the profile to delete.
325
348
  */
326
- getRecoveryKey(): Promise<number[]>;
349
+ deleteProfile(profileId: number[]): Promise<void>;
327
350
  /**
328
- * Changes the user's recovery key, prompting the user to save the new key.
351
+ * Switches the active profile. This re-derives keys and rebuilds the underlying wallet.
329
352
  *
330
- * @throws {Error} If the user is not authenticated, or if underlying token references are missing.
353
+ * @param profileId The 16-byte ID of the profile to switch to (use DEFAULT_PROFILE_ID for default).
354
+ */
355
+ switchProfile(profileId: number[]): Promise<void>;
356
+ /**
357
+ * Changes the user's password. Re-wraps keys and updates the UMP token.
358
+ */
359
+ changePassword(newPassword: string): Promise<void>;
360
+ /**
361
+ * Retrieves the current recovery key. Requires privileged access.
362
+ */
363
+ getRecoveryKey(): Promise<number[]>;
364
+ /**
365
+ * Changes the user's recovery key. Prompts user to save the new key.
331
366
  */
332
367
  changeRecoveryKey(): Promise<void>;
333
368
  /**
334
369
  * Changes the user's presentation key.
335
- *
336
- * @param presentationKey The new presentation key (32 bytes).
337
- * @throws {Error} If the user is not authenticated, or if underlying token references are missing.
338
370
  */
339
- changePresentationKey(presentationKey: number[]): Promise<void>;
371
+ changePresentationKey(newPresentationKey: number[]): Promise<void>;
340
372
  /**
341
- * Internal helper to recompute a UMP token with updated authentication factors and consume the old token on-chain.
342
- *
343
- * @param passwordSalt The PBKDF2 salt for the new password factor.
344
- * @param passwordKey The PBKDF2-derived password key (32 bytes).
345
- * @param presentationKey The new or existing presentation key (32 bytes).
346
- * @param recoveryKey The new or existing recovery key (32 bytes).
347
- * @param primaryKey The user's primary key for re-wrapping.
348
- * @param privilegedKey The user's privileged key for re-wrapping.
349
- * @throws {Error} If the user is not authenticated or if keys are unavailable.
373
+ * Performs XOR operation on two byte arrays.
350
374
  */
351
- private updateAuthFactors;
375
+ private XOR;
352
376
  /**
353
- * A helper function to XOR two equal-length byte arrays.
354
- *
355
- * @param n1 The first byte array.
356
- * @param n2 The second byte array.
357
- * @returns A new byte array which is the element-wise XOR of the two inputs.
358
- * @throws {Error} if the two arrays are not the same length.
377
+ * Helper to decrypt a specific factor (key) stored encrypted in the UMP token.
378
+ * Requires the root privileged key manager.
379
+ * @param factorName Name of the factor to decrypt ('passwordKey', 'presentationKey', 'recoveryKey', 'privilegedKey').
380
+ * @param getRoot If true and factorName is 'privilegedKey', returns the root privileged key bytes directly.
381
+ * @returns The decrypted key bytes.
359
382
  */
360
- private XOR;
383
+ private getFactor;
361
384
  /**
362
- * A helper function to serialize a UMP token to a binary format (version=1).
363
- * The serialization layout is:
364
- * - [1 byte version (value=1)]
365
- * - For each array field in the UMP token, [varint length + bytes]
366
- * - Then [varint length + outpoint string in UTF-8]
367
- *
368
- * @param token The UMP token to serialize.
369
- * @returns A byte array representing the serialized token.
370
- * @throws {Error} if the token has no currentOutpoint (required for serialization).
385
+ * Recomputes UMP token fields with updated factors and profiles, then publishes the update.
386
+ * This operation requires the *root* privileged key and the *default* profile wallet.
387
+ */
388
+ private updateAuthFactors;
389
+ /**
390
+ * Serializes a UMP token to binary format (Version 2 with optional profiles).
391
+ * Layout: [1 byte version=2] + [11 * (varint len + bytes) for standard fields] + [1 byte profile_flag] + [IF flag=1 THEN varint len + profile bytes] + [varint len + outpoint bytes]
371
392
  */
372
393
  private serializeUMPToken;
373
394
  /**
374
- * A helper function to deserialize a UMP token from the format described in `serializeUMPToken`.
375
- *
376
- * @param bin The serialized byte array.
377
- * @returns The reconstructed UMP token.
378
- * @throws {Error} if the version byte is unexpected or if parsing fails.
395
+ * Deserializes a UMP token from binary format (Handles Version 1 and 2).
379
396
  */
380
397
  private deserializeUMPToken;
381
398
  /**
382
- * Builds the underlying wallet once the user is authenticated.
399
+ * Sets up the root key infrastructure after authentication or loading from snapshot.
400
+ * Initializes the root primary key, root privileged key manager, loads profiles,
401
+ * and sets the authenticated flag. Does NOT switch profile initially.
383
402
  *
384
- * @param primaryKey The user's primary key (32 bytes).
385
- * @param privilegedKey Optionally, a privileged key (for short-term usage in account recovery).
403
+ * @param rootPrimaryKey The user's root primary key (32 bytes).
404
+ * @param ephemeralRootPrivilegedKey Optional root privileged key (e.g., during recovery flows).
386
405
  */
387
- private buildUnderlying;
406
+ private setupRootInfrastructure;
407
+ private checkAuthAndUnderlying;
388
408
  getPublicKey(args: GetPublicKeyArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<GetPublicKeyResult>;
389
409
  revealCounterpartyKeyLinkage(args: RevealCounterpartyKeyLinkageArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<RevealCounterpartyKeyLinkageResult>;
390
410
  revealSpecificKeyLinkage(args: RevealSpecificKeyLinkageArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<RevealSpecificKeyLinkageResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"CWIStyleWalletManager.d.ts","sourceRoot":"","sources":["../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CWIStyleWalletManager.d.ts","sourceRoot":"","sources":["../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}