@bsv/wallet-toolbox-mobile 2.1.10 → 2.1.11

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,6 +4,13 @@ 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
+ * Default Argon2id parameters for password-key derivation (UMP v3).
9
+ */
10
+ export declare const ARGON2ID_DEFAULT_ITERATIONS = 7;
11
+ export declare const ARGON2ID_DEFAULT_MEMORY_KIB = 131072;
12
+ export declare const ARGON2ID_DEFAULT_PARALLELISM = 1;
13
+ export declare const ARGON2ID_DEFAULT_HASH_LENGTH = 32;
7
14
  /**
8
15
  * Unique Identifier for the default profile (16 zero bytes).
9
16
  */
@@ -86,11 +93,51 @@ export interface UMPToken {
86
93
  * JSON string -> Encrypted Bytes using root privileged key.
87
94
  */
88
95
  profilesEncrypted?: number[];
96
+ /**
97
+ * On-chain UMP protocol version (3 for tokens with KDF metadata).
98
+ */
99
+ umpVersion?: number;
100
+ /**
101
+ * Password-based key derivation function metadata.
102
+ * Present for UMP v3 tokens; absent for legacy tokens.
103
+ */
104
+ passwordKdf?: {
105
+ algorithm: 'pbkdf2-sha512' | 'argon2id';
106
+ iterations: number;
107
+ memoryKiB?: number;
108
+ parallelism?: number;
109
+ hashLength?: number;
110
+ };
89
111
  /**
90
112
  * Describes the token's location on-chain, if it's already been published.
91
113
  */
92
114
  currentOutpoint?: OutpointString;
93
115
  }
116
+ /**
117
+ * Configuration options for KDF (Key Derivation Function) used in UMP tokens.
118
+ */
119
+ export interface KdfConfig {
120
+ /**
121
+ * Algorithm to use for new UMP tokens.
122
+ */
123
+ algorithm?: 'pbkdf2-sha512' | 'argon2id';
124
+ /**
125
+ * Number of iterations/rounds.
126
+ */
127
+ iterations?: number;
128
+ /**
129
+ * Memory size in KiB (Argon2id only).
130
+ */
131
+ memoryKiB?: number;
132
+ /**
133
+ * Degree of parallelism (Argon2id only).
134
+ */
135
+ parallelism?: number;
136
+ /**
137
+ * Hash output length in bytes.
138
+ */
139
+ hashLength?: number;
140
+ }
94
141
  /**
95
142
  * Describes a system capable of finding and updating UMP tokens on the blockchain.
96
143
  */
@@ -276,6 +323,10 @@ export declare class CWIStyleWalletManager implements WalletInterface {
276
323
  * Privileged key manager associated with the *root* keys, aware of the active profile.
277
324
  */
278
325
  private rootPrivilegedKeyManager?;
326
+ /**
327
+ * KDF configuration for new UMP tokens. Defaults to Argon2id for v3 tokens.
328
+ */
329
+ private kdfConfig;
279
330
  /**
280
331
  * Constructs a new CWIStyleWalletManager.
281
332
  *
@@ -286,9 +337,10 @@ export declare class CWIStyleWalletManager implements WalletInterface {
286
337
  * @param passwordRetriever A function to request the user's password.
287
338
  * @param newWalletFunder Optional function to fund a new wallet.
288
339
  * @param stateSnapshot Optional previously saved state snapshot.
340
+ * @param kdfConfig Optional KDF configuration for new UMP tokens.
289
341
  */
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[]);
342
+ 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<boolean>) => Promise<string>, newWalletFunder?: (presentationKey: number[], wallet: WalletInterface, // Default profile wallet
343
+ adminOriginator: OriginatorDomainNameStringUnder250Bytes) => Promise<void>, stateSnapshot?: number[], kdfConfig?: KdfConfig);
292
344
  /**
293
345
  * Provides the presentation key.
294
346
  */
@@ -389,12 +441,12 @@ export declare class CWIStyleWalletManager implements WalletInterface {
389
441
  */
390
442
  private updateAuthFactors;
391
443
  /**
392
- * Serializes a UMP token to binary format (Version 2 with optional profiles).
393
- * 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]
444
+ * Serializes a UMP token to binary format (Version 3 with KDF metadata, Version 2 with profiles).
445
+ * V3 Layout: [1 byte version=3] + [11 * (varint len + bytes) for standard fields] + [1 byte profile_flag] + [IF flag=1 THEN varint len + profile bytes] + [1 byte kdf_flag] + [IF flag=1 THEN kdf metadata] + [varint len + outpoint bytes]
394
446
  */
395
447
  private serializeUMPToken;
396
448
  /**
397
- * Deserializes a UMP token from binary format (Handles Version 1 and 2).
449
+ * Deserializes a UMP token from binary format (Handles Version 1, 2, and 3).
398
450
  */
399
451
  private deserializeUMPToken;
400
452
  /**
@@ -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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"}
@@ -1,15 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CWIStyleWalletManager = exports.OverlayUMPTokenInteractor = exports.DEFAULT_PROFILE_ID = exports.PBKDF2_NUM_ROUNDS = void 0;
3
+ exports.CWIStyleWalletManager = exports.OverlayUMPTokenInteractor = exports.DEFAULT_PROFILE_ID = exports.ARGON2ID_DEFAULT_HASH_LENGTH = exports.ARGON2ID_DEFAULT_PARALLELISM = exports.ARGON2ID_DEFAULT_MEMORY_KIB = exports.ARGON2ID_DEFAULT_ITERATIONS = exports.PBKDF2_NUM_ROUNDS = void 0;
4
4
  const sdk_1 = require("@bsv/sdk");
5
+ const hash_wasm_1 = require("hash-wasm");
5
6
  const PrivilegedKeyManager_1 = require("./sdk/PrivilegedKeyManager");
6
7
  /**
7
8
  * Number of rounds used in PBKDF2 for deriving password keys.
8
9
  */
9
10
  exports.PBKDF2_NUM_ROUNDS = 7777;
10
11
  /**
11
- * PBKDF-2 that prefers the browser / Node 20+ WebCrypto implementation and
12
- * silently falls back to the existing JS code.
12
+ * Default Argon2id parameters for password-key derivation (UMP v3).
13
+ */
14
+ exports.ARGON2ID_DEFAULT_ITERATIONS = 7;
15
+ exports.ARGON2ID_DEFAULT_MEMORY_KIB = 131072;
16
+ exports.ARGON2ID_DEFAULT_PARALLELISM = 1;
17
+ exports.ARGON2ID_DEFAULT_HASH_LENGTH = 32;
18
+ function isLikelyDerSignatureField(field) {
19
+ if (!field || field.length < 8 || field.length > 80) {
20
+ return false;
21
+ }
22
+ if (field[0] !== 0x30) {
23
+ return false;
24
+ }
25
+ const declaredLen = field[1];
26
+ return declaredLen === field.length - 2;
27
+ }
28
+ function stripVerifiedPushDropSignature(fields, lockingPublicKey) {
29
+ if (fields.length <= 11) {
30
+ return fields;
31
+ }
32
+ const protocolFieldCount = fields.length - 1;
33
+ const trailingField = fields[protocolFieldCount];
34
+ if (!trailingField || !isLikelyDerSignatureField(trailingField)) {
35
+ return fields;
36
+ }
37
+ try {
38
+ let dataLength = 0;
39
+ for (let i = 0; i < protocolFieldCount; i++) {
40
+ dataLength += fields[i].length;
41
+ }
42
+ const dataToVerify = new Array(dataLength);
43
+ let writeOffset = 0;
44
+ for (let i = 0; i < protocolFieldCount; i++) {
45
+ const field = fields[i];
46
+ for (let j = 0; j < field.length; j++) {
47
+ dataToVerify[writeOffset++] = field[j];
48
+ }
49
+ }
50
+ const signature = sdk_1.Signature.fromDER(trailingField);
51
+ if (signature.verify(dataToVerify, lockingPublicKey)) {
52
+ return fields.slice(0, protocolFieldCount);
53
+ }
54
+ }
55
+ catch (_a) {
56
+ return fields;
57
+ }
58
+ return fields;
59
+ }
60
+ /**
61
+ * PBKDF-2 that prefers WebCrypto and falls back to hash-wasm.
13
62
  *
14
63
  * @param passwordBytes Raw password bytes.
15
64
  * @param salt Salt bytes.
@@ -18,7 +67,7 @@ exports.PBKDF2_NUM_ROUNDS = 7777;
18
67
  * @param hash Digest algorithm (default "sha512").
19
68
  * @returns Derived key bytes.
20
69
  */
21
- async function pbkdf2NativeOrJs(passwordBytes, salt, iterations, keyLen, hash = 'sha512') {
70
+ async function pbkdf2NativeOrWasm(passwordBytes, salt, iterations, keyLen, hash = 'sha512') {
22
71
  var _a;
23
72
  // ----- fast-path: WebCrypto (both browser & recent Node expose globalThis.crypto.subtle)
24
73
  const subtle = (_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.subtle;
@@ -39,8 +88,52 @@ async function pbkdf2NativeOrJs(passwordBytes, salt, iterations, keyLen, hash =
39
88
  /* fall through */
40
89
  }
41
90
  }
42
- // ----- slow-path: old JavaScript implementation
43
- return sdk_1.Hash.pbkdf2(passwordBytes, salt, iterations, keyLen, hash);
91
+ const hashFunction = hash === 'sha256' ? (0, hash_wasm_1.createSHA256)() : (0, hash_wasm_1.createSHA512)();
92
+ const derived = await (0, hash_wasm_1.pbkdf2)({
93
+ password: new Uint8Array(passwordBytes),
94
+ salt: new Uint8Array(salt),
95
+ iterations,
96
+ hashLength: keyLen,
97
+ hashFunction,
98
+ outputType: 'binary'
99
+ });
100
+ return Array.from(derived);
101
+ }
102
+ /**
103
+ * Derives the password key from a password using the KDF specified in the UMP token.
104
+ * For legacy tokens (no KDF metadata), uses PBKDF2 with fixed rounds (7777).
105
+ * For v3 tokens, uses the algorithm specified in passwordKdf metadata.
106
+ *
107
+ * @param token The UMP token containing KDF metadata and salt.
108
+ * @param passwordBytes Raw password bytes.
109
+ * @param overrideKdf Optional KDF config to override token/default settings.
110
+ * @returns Derived password key bytes.
111
+ */
112
+ async function derivePasswordKey(token, passwordBytes, overrideKdf) {
113
+ var _a, _b, _c, _d, _e;
114
+ const kdf = overrideKdf || token.passwordKdf;
115
+ // Legacy token or explicit PBKDF2 request
116
+ if (!kdf || kdf.algorithm === 'pbkdf2-sha512') {
117
+ return pbkdf2NativeOrWasm(passwordBytes, token.passwordSalt, (_a = kdf === null || kdf === void 0 ? void 0 : kdf.iterations) !== null && _a !== void 0 ? _a : exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
118
+ }
119
+ // Argon2id path (UMP v3)
120
+ if (kdf.algorithm === 'argon2id') {
121
+ const iterations = (_b = kdf.iterations) !== null && _b !== void 0 ? _b : exports.ARGON2ID_DEFAULT_ITERATIONS;
122
+ const memorySize = (_c = kdf.memoryKiB) !== null && _c !== void 0 ? _c : exports.ARGON2ID_DEFAULT_MEMORY_KIB;
123
+ const parallelism = (_d = kdf.parallelism) !== null && _d !== void 0 ? _d : exports.ARGON2ID_DEFAULT_PARALLELISM;
124
+ const hashLength = (_e = kdf.hashLength) !== null && _e !== void 0 ? _e : exports.ARGON2ID_DEFAULT_HASH_LENGTH;
125
+ const hash = await (0, hash_wasm_1.argon2id)({
126
+ password: new Uint8Array(passwordBytes),
127
+ salt: new Uint8Array(token.passwordSalt),
128
+ iterations,
129
+ memorySize,
130
+ parallelism,
131
+ hashLength,
132
+ outputType: 'binary'
133
+ });
134
+ return Array.from(hash);
135
+ }
136
+ throw new Error(`Unsupported KDF algorithm: ${kdf.algorithm}`);
44
137
  }
45
138
  /**
46
139
  * Unique Identifier for the default profile (16 zero bytes).
@@ -127,11 +220,32 @@ class OverlayUMPTokenInteractor {
127
220
  fields[8] = token.presentationKeyEncrypted;
128
221
  fields[9] = token.passwordKeyEncrypted;
129
222
  fields[10] = token.recoveryKeyEncrypted;
130
- // Optional field (11) for encrypted profiles
223
+ // Optional field for encrypted profiles
131
224
  if (token.profilesEncrypted) {
132
225
  fields[11] = token.profilesEncrypted;
133
226
  }
227
+ // V3 fields: umpVersion, kdfAlgorithm, kdfParams
228
+ if (token.umpVersion === 3 && token.passwordKdf) {
229
+ const versionFieldIndex = token.profilesEncrypted ? 12 : 11;
230
+ fields[versionFieldIndex] = [token.umpVersion]; // Single byte
231
+ fields[versionFieldIndex + 1] = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
232
+ // Construct kdfParams JSON
233
+ const kdfParams = {
234
+ iterations: token.passwordKdf.iterations
235
+ };
236
+ if (token.passwordKdf.memoryKiB !== undefined) {
237
+ kdfParams.memoryKiB = token.passwordKdf.memoryKiB;
238
+ }
239
+ if (token.passwordKdf.parallelism !== undefined) {
240
+ kdfParams.parallelism = token.passwordKdf.parallelism;
241
+ }
242
+ if (token.passwordKdf.hashLength !== undefined) {
243
+ kdfParams.hashLength = token.passwordKdf.hashLength;
244
+ }
245
+ fields[versionFieldIndex + 2] = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
246
+ }
134
247
  // 2) Create a PushDrop script referencing these fields, locked with the admin key.
248
+ // The signature will be added as trailing metadata by PushDrop (not part of protocol fields).
135
249
  const script = await new sdk_1.PushDrop(wallet, adminOriginator).lock(fields, [2, 'admin user management token'], // protocolID
136
250
  '1', // keyID
137
251
  'self', // counterparty
@@ -257,7 +371,7 @@ class OverlayUMPTokenInteractor {
257
371
  * @returns The parsed UMPToken or `undefined` if none found/decodable.
258
372
  */
259
373
  parseLookupAnswer(answer) {
260
- var _a;
374
+ var _a, _b, _c;
261
375
  if (answer.type !== 'output-list') {
262
376
  return undefined;
263
377
  }
@@ -274,23 +388,60 @@ class OverlayUMPTokenInteractor {
274
388
  console.warn(`Unexpected number of fields in UMP token: ${(_a = decoded.fields) === null || _a === void 0 ? void 0 : _a.length}`);
275
389
  return undefined;
276
390
  }
391
+ // Parse protocol fields, excluding the trailing PushDrop signature only when
392
+ // it is cryptographically valid for the preceding field payload.
393
+ let protocolFields = stripVerifiedPushDropSignature(decoded.fields, decoded.lockingPublicKey);
394
+ // Detect v3 token metadata in either layout:
395
+ // - with profilesEncrypted present: [0..10]=core, [11]=profiles, [12]=version, [13]=algorithm, [14]=params
396
+ // - without profilesEncrypted: [0..10]=core, [11]=version, [12]=algorithm, [13]=params
397
+ const hasV3MetadataWithProfiles = protocolFields.length >= 15 && ((_b = protocolFields[12]) === null || _b === void 0 ? void 0 : _b.length) === 1 && protocolFields[12][0] === 3;
398
+ const hasV3MetadataWithoutProfiles = protocolFields.length >= 14 && ((_c = protocolFields[11]) === null || _c === void 0 ? void 0 : _c.length) === 1 && protocolFields[11][0] === 3;
399
+ const kdfVersionFieldIndex = hasV3MetadataWithProfiles ? 12 : hasV3MetadataWithoutProfiles ? 11 : -1;
277
400
  // Build the UMP token from these fields, preserving outpoint
278
401
  const t = {
279
- // Order matches buildAndSend and serialize/deserialize
280
- passwordSalt: decoded.fields[0],
281
- passwordPresentationPrimary: decoded.fields[1],
282
- passwordRecoveryPrimary: decoded.fields[2],
283
- presentationRecoveryPrimary: decoded.fields[3],
284
- passwordPrimaryPrivileged: decoded.fields[4],
285
- presentationRecoveryPrivileged: decoded.fields[5],
286
- presentationHash: decoded.fields[6],
287
- recoveryHash: decoded.fields[7],
288
- presentationKeyEncrypted: decoded.fields[8],
289
- passwordKeyEncrypted: decoded.fields[9],
290
- recoveryKeyEncrypted: decoded.fields[10],
291
- profilesEncrypted: decoded.fields[12] ? decoded.fields[11] : undefined, // If there's a signature in field 12, use field 11
402
+ // Core fields (unchanged for all versions)
403
+ passwordSalt: protocolFields[0],
404
+ passwordPresentationPrimary: protocolFields[1],
405
+ passwordRecoveryPrimary: protocolFields[2],
406
+ presentationRecoveryPrimary: protocolFields[3],
407
+ passwordPrimaryPrivileged: protocolFields[4],
408
+ presentationRecoveryPrivileged: protocolFields[5],
409
+ presentationHash: protocolFields[6],
410
+ recoveryHash: protocolFields[7],
411
+ presentationKeyEncrypted: protocolFields[8],
412
+ passwordKeyEncrypted: protocolFields[9],
413
+ recoveryKeyEncrypted: protocolFields[10],
292
414
  currentOutpoint: outpoint
293
415
  };
416
+ // Encrypted profiles (optional, all versions)
417
+ const hasProfilesField = hasV3MetadataWithProfiles || (!hasV3MetadataWithoutProfiles && !!protocolFields[11]);
418
+ if (hasProfilesField && protocolFields[11] && protocolFields[11].length > 0) {
419
+ t.profilesEncrypted = protocolFields[11];
420
+ }
421
+ // V3 fields: umpVersion, kdfAlgorithm, kdfParams (fields 12, 13, 14)
422
+ if (kdfVersionFieldIndex !== -1) {
423
+ t.umpVersion = protocolFields[kdfVersionFieldIndex][0]; // Single byte value 3
424
+ const kdfAlgorithmField = protocolFields[kdfVersionFieldIndex + 1];
425
+ const kdfParamsField = protocolFields[kdfVersionFieldIndex + 2];
426
+ if (!kdfAlgorithmField || !kdfParamsField) {
427
+ return t;
428
+ }
429
+ const kdfAlgorithm = sdk_1.Utils.toUTF8(kdfAlgorithmField);
430
+ const kdfParamsJson = sdk_1.Utils.toUTF8(kdfParamsField);
431
+ try {
432
+ const kdfParams = JSON.parse(kdfParamsJson);
433
+ t.passwordKdf = {
434
+ algorithm: kdfAlgorithm,
435
+ iterations: kdfParams.iterations,
436
+ memoryKiB: kdfParams.memoryKiB,
437
+ parallelism: kdfParams.parallelism,
438
+ hashLength: kdfParams.hashLength
439
+ };
440
+ }
441
+ catch (e) {
442
+ console.warn('Failed to parse v3 KDF params:', e);
443
+ }
444
+ }
294
445
  return t;
295
446
  }
296
447
  catch (e) {
@@ -336,8 +487,10 @@ class CWIStyleWalletManager {
336
487
  * @param passwordRetriever A function to request the user's password.
337
488
  * @param newWalletFunder Optional function to fund a new wallet.
338
489
  * @param stateSnapshot Optional previously saved state snapshot.
490
+ * @param kdfConfig Optional KDF configuration for new UMP tokens.
339
491
  */
340
- constructor(adminOriginator, walletBuilder, interactor = new OverlayUMPTokenInteractor(), recoveryKeySaver, passwordRetriever, newWalletFunder, stateSnapshot) {
492
+ constructor(adminOriginator, walletBuilder, interactor = new OverlayUMPTokenInteractor(), recoveryKeySaver, passwordRetriever, newWalletFunder, stateSnapshot, kdfConfig) {
493
+ var _a, _b, _c, _d, _e;
341
494
  /**
342
495
  * Current mode of authentication.
343
496
  */
@@ -361,6 +514,14 @@ class CWIStyleWalletManager {
361
514
  this.passwordRetriever = passwordRetriever;
362
515
  this.authenticated = false;
363
516
  this.newWalletFunder = newWalletFunder;
517
+ // Initialize KDF config with Argon2id defaults for v3 tokens
518
+ this.kdfConfig = {
519
+ algorithm: (_a = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.algorithm) !== null && _a !== void 0 ? _a : 'argon2id',
520
+ iterations: (_b = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.iterations) !== null && _b !== void 0 ? _b : exports.ARGON2ID_DEFAULT_ITERATIONS,
521
+ memoryKiB: (_c = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.memoryKiB) !== null && _c !== void 0 ? _c : exports.ARGON2ID_DEFAULT_MEMORY_KIB,
522
+ parallelism: (_d = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.parallelism) !== null && _d !== void 0 ? _d : exports.ARGON2ID_DEFAULT_PARALLELISM,
523
+ hashLength: (_e = kdfConfig === null || kdfConfig === void 0 ? void 0 : kdfConfig.hashLength) !== null && _e !== void 0 ? _e : exports.ARGON2ID_DEFAULT_HASH_LENGTH
524
+ };
364
525
  // If a saved snapshot is provided, attempt to load it.
365
526
  // Note: loadSnapshot now returns a promise. We don't await it here,
366
527
  // as the constructor must be synchronous. The caller should check
@@ -413,7 +574,8 @@ class CWIStyleWalletManager {
413
574
  if (!this.currentUMPToken) {
414
575
  throw new Error('Provide presentation or recovery key first.');
415
576
  }
416
- const derivedPasswordKey = await pbkdf2NativeOrJs(sdk_1.Utils.toArray(password, 'utf8'), this.currentUMPToken.passwordSalt, exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
577
+ // Use token-driven KDF (legacy PBKDF2 or v3 Argon2id)
578
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
417
579
  let rootPrimaryKey;
418
580
  let rootPrivilegedKey; // Only needed for recovery mode
419
581
  if (this.authenticationMode === 'presentation-key-and-password') {
@@ -447,7 +609,12 @@ class CWIStyleWalletManager {
447
609
  const recoveryKey = (0, sdk_1.Random)(32);
448
610
  await this.recoveryKeySaver(recoveryKey);
449
611
  const passwordSalt = (0, sdk_1.Random)(32);
450
- const passwordKey = await pbkdf2NativeOrJs(sdk_1.Utils.toArray(password, 'utf8'), passwordSalt, exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
612
+ // Build temporary token with KDF config for password derivation
613
+ const tempTokenForKdf = {
614
+ passwordSalt,
615
+ passwordKdf: this.kdfConfig
616
+ };
617
+ const passwordKey = await derivePasswordKey(tempTokenForKdf, sdk_1.Utils.toArray(password, 'utf8'));
451
618
  const rootPrimaryKey = (0, sdk_1.Random)(32);
452
619
  const rootPrivilegedKey = (0, sdk_1.Random)(32);
453
620
  // Build XOR keys
@@ -457,7 +624,7 @@ class CWIStyleWalletManager {
457
624
  const primaryPassword = new sdk_1.SymmetricKey(this.XOR(rootPrimaryKey, passwordKey));
458
625
  // Temp manager for encryption
459
626
  const tempPrivilegedKeyManager = new PrivilegedKeyManager_1.PrivilegedKeyManager(async () => new sdk_1.PrivateKey(rootPrivilegedKey));
460
- // Build new UMP token (no profiles initially)
627
+ // Build new UMP token (v3 with KDF metadata, no profiles initially)
461
628
  const newToken = {
462
629
  passwordSalt,
463
630
  passwordPresentationPrimary: presentationPassword.encrypt(rootPrimaryKey),
@@ -482,7 +649,9 @@ class CWIStyleWalletManager {
482
649
  protocolID: [2, 'admin key wrapping'],
483
650
  keyID: '1'
484
651
  })).ciphertext,
485
- profilesEncrypted: undefined // No profiles yet
652
+ profilesEncrypted: undefined, // No profiles yet
653
+ umpVersion: 3, // UMP protocol version 3
654
+ passwordKdf: this.kdfConfig // KDF metadata for v3
486
655
  };
487
656
  this.currentUMPToken = newToken;
488
657
  // Setup root infrastructure and switch to default profile
@@ -495,7 +664,8 @@ class CWIStyleWalletManager {
495
664
  }
496
665
  catch (e) {
497
666
  console.error('Error funding new wallet:', e);
498
- // Decide if this should halt the process or just log
667
+ const message = e instanceof Error ? e.message : String(e);
668
+ throw new Error(`Failed to fund new wallet before publishing UMP token: ${message}`);
499
669
  }
500
670
  }
501
671
  // Publish the new UMP token *after* potentially funding
@@ -803,11 +973,18 @@ class CWIStyleWalletManager {
803
973
  * Changes the user's password. Re-wraps keys and updates the UMP token.
804
974
  */
805
975
  async changePassword(newPassword) {
976
+ var _a;
806
977
  if (!this.authenticated || !this.currentUMPToken || !this.rootPrimaryKey || !this.rootPrivilegedKeyManager) {
807
978
  throw new Error('Not authenticated or missing required data.');
808
979
  }
809
980
  const passwordSalt = (0, sdk_1.Random)(32);
810
- const newPasswordKey = await pbkdf2NativeOrJs(sdk_1.Utils.toArray(newPassword, 'utf8'), passwordSalt, exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
981
+ // Preserve current token's KDF metadata (or use manager's kdfConfig for legacy tokens)
982
+ const kdfToUse = (_a = this.currentUMPToken.passwordKdf) !== null && _a !== void 0 ? _a : this.kdfConfig;
983
+ const tempTokenForKdf = {
984
+ passwordSalt,
985
+ passwordKdf: kdfToUse
986
+ };
987
+ const newPasswordKey = await derivePasswordKey(tempTokenForKdf, sdk_1.Utils.toArray(newPassword, 'utf8'));
811
988
  // Decrypt existing factors needed for re-encryption, using the *root* privileged key manager
812
989
  const recoveryKey = await this.getFactor('recoveryKey');
813
990
  const presentationKey = await this.getFactor('presentationKey');
@@ -936,6 +1113,7 @@ class CWIStyleWalletManager {
936
1113
  async updateAuthFactors(passwordSalt, passwordKey, presentationKey, recoveryKey, rootPrimaryKey, rootPrivilegedKey, // Explicitly pass the root key bytes
937
1114
  profiles // Pass current/new profiles list
938
1115
  ) {
1116
+ var _a;
939
1117
  if (!this.authenticated || !this.rootPrimaryKey || !this.currentUMPToken) {
940
1118
  throw new Error('Wallet is not properly authenticated or missing data for update.');
941
1119
  }
@@ -958,7 +1136,8 @@ class CWIStyleWalletManager {
958
1136
  const profilesBytes = sdk_1.Utils.toArray(profilesJson, 'utf8');
959
1137
  profilesEncrypted = new sdk_1.SymmetricKey(rootPrimaryKey).encrypt(profilesBytes);
960
1138
  }
961
- // Construct the new UMP token data
1139
+ // Construct the new UMP token data (preserve or upgrade to v3 with KDF metadata)
1140
+ const kdfMetadata = (_a = this.currentUMPToken.passwordKdf) !== null && _a !== void 0 ? _a : this.kdfConfig;
962
1141
  const newTokenData = {
963
1142
  passwordSalt,
964
1143
  passwordPresentationPrimary: presentationPassword.encrypt(rootPrimaryKey),
@@ -983,7 +1162,9 @@ class CWIStyleWalletManager {
983
1162
  protocolID: [2, 'admin key wrapping'],
984
1163
  keyID: '1'
985
1164
  })).ciphertext,
986
- profilesEncrypted // Add encrypted profiles
1165
+ profilesEncrypted, // Add encrypted profiles
1166
+ umpVersion: 3, // UMP protocol version 3
1167
+ passwordKdf: kdfMetadata // Preserve or upgrade KDF metadata
987
1168
  // currentOutpoint will be set after publishing
988
1169
  };
989
1170
  // We need the wallet built for the DEFAULT profile to publish the UMP token.
@@ -1015,15 +1196,16 @@ class CWIStyleWalletManager {
1015
1196
  }
1016
1197
  }
1017
1198
  /**
1018
- * Serializes a UMP token to binary format (Version 2 with optional profiles).
1019
- * 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]
1199
+ * Serializes a UMP token to binary format (Version 3 with KDF metadata, Version 2 with profiles).
1200
+ * V3 Layout: [1 byte version=3] + [11 * (varint len + bytes) for standard fields] + [1 byte profile_flag] + [IF flag=1 THEN varint len + profile bytes] + [1 byte kdf_flag] + [IF flag=1 THEN kdf metadata] + [varint len + outpoint bytes]
1020
1201
  */
1021
1202
  serializeUMPToken(token) {
1022
1203
  if (!token.currentOutpoint) {
1023
1204
  throw new Error('Token must have outpoint for serialization');
1024
1205
  }
1025
1206
  const writer = new sdk_1.Utils.Writer();
1026
- writer.writeUInt8(2); // Version 2
1207
+ const hasKdfMetadata = token.umpVersion === 3 && token.passwordKdf;
1208
+ writer.writeUInt8(hasKdfMetadata ? 3 : 2); // Version 3 for KDF, 2 for legacy
1027
1209
  const writeArray = (arr) => {
1028
1210
  writer.writeVarIntNum(arr.length);
1029
1211
  writer.write(arr);
@@ -1038,7 +1220,7 @@ class CWIStyleWalletManager {
1038
1220
  writeArray(token.presentationHash); // 6
1039
1221
  writeArray(token.recoveryHash); // 7
1040
1222
  writeArray(token.presentationKeyEncrypted); // 8
1041
- writeArray(token.passwordKeyEncrypted); // 9 - Swapped order vs original doc comment
1223
+ writeArray(token.passwordKeyEncrypted); // 9
1042
1224
  writeArray(token.recoveryKeyEncrypted); // 10
1043
1225
  // Write optional profiles field
1044
1226
  if (token.profilesEncrypted && token.profilesEncrypted.length > 0) {
@@ -1048,6 +1230,32 @@ class CWIStyleWalletManager {
1048
1230
  else {
1049
1231
  writer.writeUInt8(0); // Flag indicating no profiles
1050
1232
  }
1233
+ // V3: Write KDF metadata
1234
+ if (hasKdfMetadata) {
1235
+ writer.writeUInt8(1); // Flag indicating KDF metadata present
1236
+ writer.writeUInt8(token.umpVersion); // On-chain UMP version
1237
+ const algorithmBytes = sdk_1.Utils.toArray(token.passwordKdf.algorithm, 'utf8');
1238
+ writeArray(algorithmBytes);
1239
+ // Serialize KDF params as JSON
1240
+ const kdfParams = {
1241
+ iterations: token.passwordKdf.iterations
1242
+ };
1243
+ if (token.passwordKdf.memoryKiB !== undefined) {
1244
+ kdfParams.memoryKiB = token.passwordKdf.memoryKiB;
1245
+ }
1246
+ if (token.passwordKdf.parallelism !== undefined) {
1247
+ kdfParams.parallelism = token.passwordKdf.parallelism;
1248
+ }
1249
+ if (token.passwordKdf.hashLength !== undefined) {
1250
+ kdfParams.hashLength = token.passwordKdf.hashLength;
1251
+ }
1252
+ const kdfParamsBytes = sdk_1.Utils.toArray(JSON.stringify(kdfParams), 'utf8');
1253
+ writeArray(kdfParamsBytes);
1254
+ }
1255
+ else if (writer.toArray()[0] === 3) {
1256
+ // Version 3 without KDF metadata (shouldn't happen, but handle gracefully)
1257
+ writer.writeUInt8(0); // Flag indicating no KDF metadata
1258
+ }
1051
1259
  // Write outpoint string
1052
1260
  const outpointBytes = sdk_1.Utils.toArray(token.currentOutpoint, 'utf8');
1053
1261
  writer.writeVarIntNum(outpointBytes.length);
@@ -1055,19 +1263,19 @@ class CWIStyleWalletManager {
1055
1263
  return writer.toArray();
1056
1264
  }
1057
1265
  /**
1058
- * Deserializes a UMP token from binary format (Handles Version 1 and 2).
1266
+ * Deserializes a UMP token from binary format (Handles Version 1, 2, and 3).
1059
1267
  */
1060
1268
  deserializeUMPToken(bin) {
1061
1269
  const reader = new sdk_1.Utils.Reader(bin);
1062
1270
  const version = reader.readUInt8();
1063
- if (version !== 1 && version !== 2) {
1271
+ if (version !== 1 && version !== 2 && version !== 3) {
1064
1272
  throw new Error(`Unsupported UMP token serialization version: ${version}`);
1065
1273
  }
1066
1274
  const readArray = () => {
1067
1275
  const length = reader.readVarIntNum();
1068
1276
  return reader.read(length);
1069
1277
  };
1070
- // Read standard fields (order matches serialization V2)
1278
+ // Read standard fields (order matches serialization)
1071
1279
  const passwordSalt = readArray(); // 0
1072
1280
  const passwordPresentationPrimary = readArray(); // 1
1073
1281
  const passwordRecoveryPrimary = readArray(); // 2
@@ -1079,14 +1287,40 @@ class CWIStyleWalletManager {
1079
1287
  const presentationKeyEncrypted = readArray(); // 8
1080
1288
  const passwordKeyEncrypted = readArray(); // 9
1081
1289
  const recoveryKeyEncrypted = readArray(); // 10
1082
- // Read optional profiles (only in V2)
1290
+ // Read optional profiles (V2 and V3)
1083
1291
  let profilesEncrypted;
1084
- if (version === 2) {
1292
+ if (version >= 2) {
1085
1293
  const profilesFlag = reader.readUInt8();
1086
1294
  if (profilesFlag === 1) {
1087
1295
  profilesEncrypted = readArray();
1088
1296
  }
1089
1297
  }
1298
+ // Read KDF metadata (V3 only)
1299
+ let umpVersion;
1300
+ let passwordKdf;
1301
+ if (version === 3) {
1302
+ const kdfFlag = reader.readUInt8();
1303
+ if (kdfFlag === 1) {
1304
+ umpVersion = reader.readUInt8(); // On-chain UMP version
1305
+ const algorithmBytes = readArray();
1306
+ const algorithm = sdk_1.Utils.toUTF8(algorithmBytes);
1307
+ const kdfParamsBytes = readArray();
1308
+ const kdfParamsJson = sdk_1.Utils.toUTF8(kdfParamsBytes);
1309
+ try {
1310
+ const kdfParams = JSON.parse(kdfParamsJson);
1311
+ passwordKdf = {
1312
+ algorithm,
1313
+ iterations: kdfParams.iterations,
1314
+ memoryKiB: kdfParams.memoryKiB,
1315
+ parallelism: kdfParams.parallelism,
1316
+ hashLength: kdfParams.hashLength
1317
+ };
1318
+ }
1319
+ catch (e) {
1320
+ console.warn('Failed to parse KDF params during deserialization:', e);
1321
+ }
1322
+ }
1323
+ }
1090
1324
  // Read outpoint string
1091
1325
  const outpointLen = reader.readVarIntNum();
1092
1326
  const outpointBytes = reader.read(outpointLen);
@@ -1101,10 +1335,12 @@ class CWIStyleWalletManager {
1101
1335
  presentationHash,
1102
1336
  recoveryHash,
1103
1337
  presentationKeyEncrypted,
1104
- passwordKeyEncrypted, // Corrected order
1338
+ passwordKeyEncrypted,
1105
1339
  recoveryKeyEncrypted,
1106
- profilesEncrypted, // May be undefined
1107
- currentOutpoint
1340
+ profilesEncrypted,
1341
+ currentOutpoint,
1342
+ umpVersion,
1343
+ passwordKdf
1108
1344
  };
1109
1345
  return token;
1110
1346
  }
@@ -1134,9 +1370,9 @@ class CWIStyleWalletManager {
1134
1370
  return tempKey;
1135
1371
  }
1136
1372
  // 2. Otherwise, derive from password
1137
- const password = await this.passwordRetriever(reason, (passwordCandidate) => {
1373
+ const password = await this.passwordRetriever(reason, async (passwordCandidate) => {
1138
1374
  try {
1139
- const derivedPasswordKey = sdk_1.Hash.pbkdf2(sdk_1.Utils.toArray(passwordCandidate, 'utf8'), this.currentUMPToken.passwordSalt, exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
1375
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(passwordCandidate, 'utf8'));
1140
1376
  const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
1141
1377
  const decryptedPrivileged = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
1142
1378
  return !!decryptedPrivileged; // Test passes if decryption works
@@ -1145,8 +1381,8 @@ class CWIStyleWalletManager {
1145
1381
  return false;
1146
1382
  }
1147
1383
  });
1148
- // Decrypt the root privileged key using the confirmed password
1149
- const derivedPasswordKey = await pbkdf2NativeOrJs(sdk_1.Utils.toArray(password, 'utf8'), this.currentUMPToken.passwordSalt, exports.PBKDF2_NUM_ROUNDS, 32, 'sha512');
1384
+ // Decrypt the root privileged key using the confirmed password (with token-driven KDF)
1385
+ const derivedPasswordKey = await derivePasswordKey(this.currentUMPToken, sdk_1.Utils.toArray(password, 'utf8'));
1150
1386
  const privilegedDecryptor = this.XOR(this.rootPrimaryKey, derivedPasswordKey);
1151
1387
  const rootPrivilegedBytes = new sdk_1.SymmetricKey(privilegedDecryptor).decrypt(this.currentUMPToken.passwordPrimaryPrivileged);
1152
1388
  return new sdk_1.PrivateKey(rootPrivilegedBytes); // Return the ROOT key object
@@ -1 +1 @@
1
- {"version":3,"file":"CWIStyleWalletManager.js","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CWIStyleWalletManager.js","sourceRoot":"","sources":["../../../src/CWIStyleWalletManager.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export declare class WalletAuthenticationManager extends CWIStyleWalletManager {
13
13
  private wabClient;
14
14
  private authMethod?;
15
15
  private tempPresentationKey?;
16
- constructor(adminOriginator: string, walletBuilder: (primaryKey: number[], privilegedKeyManager: PrivilegedKeyManager) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean) => Promise<string>, wabClient: WABClient, authMethod?: AuthMethodInteractor, stateSnapshot?: number[]);
16
+ constructor(adminOriginator: string, walletBuilder: (primaryKey: number[], privilegedKeyManager: PrivilegedKeyManager) => Promise<WalletInterface>, interactor: UMPTokenInteractor | undefined, recoveryKeySaver: (key: number[]) => Promise<true>, passwordRetriever: (reason: string, test: (passwordCandidate: string) => boolean | Promise<boolean>) => Promise<string>, wabClient: WABClient, authMethod?: AuthMethodInteractor, stateSnapshot?: number[]);
17
17
  /**
18
18
  * Sets (or switches) the chosen AuthMethodInteractor at runtime,
19
19
  * in case the user changes their mind or picks a new method in the UI.
@@ -1 +1 @@
1
- {"version":3,"file":"WalletAuthenticationManager.d.ts","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAA;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAA8D,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAEhG;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;gBAGlC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7G,UAAU,EAAE,kBAAkB,YAAkC,EAChE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,EACpG,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,oBAAoB,EACjC,aAAa,CAAC,EAAE,MAAM,EAAE;IA2D1B;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,oBAAoB;IAIjD;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD,OAAO,CAAC,gCAAgC;CAKzC"}
1
+ {"version":3,"file":"WalletAuthenticationManager.d.ts","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAA6B,MAAM,yBAAyB,CAAA;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,eAAe,EAA8D,MAAM,UAAU,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAA;AAEhG;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,qBAAqB;IACpE,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,mBAAmB,CAAC,CAAQ;gBAGlC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,oBAAoB,EAAE,oBAAoB,KAAK,OAAO,CAAC,eAAe,CAAC,EAC7G,UAAU,EAAE,kBAAkB,YAAkC,EAChE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EAClD,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAC5D,OAAO,CAAC,MAAM,CAAC,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,CAAC,EAAE,oBAAoB,EACjC,aAAa,CAAC,EAAE,MAAM,EAAE;IA0E1B;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,oBAAoB;IAIjD;;;OAGG;IACU,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnD;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD,OAAO,CAAC,gCAAgC;CAKzC"}
@@ -14,41 +14,51 @@ class WalletAuthenticationManager extends CWIStyleWalletManager_1.CWIStyleWallet
14
14
  super(adminOriginator, walletBuilder, interactor, recoveryKeySaver, passwordRetriever,
15
15
  // Here, we provide a custom new wallet funder that uses the Secret Server
16
16
  async (presentationKey, wallet, adminOriginator) => {
17
- debugger;
18
- const { paymentData } = await this.wabClient.requestFaucet(sdk_1.Utils.toHex(presentationKey));
19
- if (!paymentData.k || !paymentData.tx) {
20
- throw new Error('Invalid');
17
+ const faucetResponse = await this.wabClient.requestFaucet(sdk_1.Utils.toHex(presentationKey));
18
+ const paymentData = faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.paymentData;
19
+ if (!(faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.success) || !paymentData) {
20
+ throw new Error(`Faucet request failed: ${(faucetResponse === null || faucetResponse === void 0 ? void 0 : faucetResponse.message) || 'Missing paymentData from WAB'}`);
21
21
  }
22
- const tx = sdk_1.Transaction.fromAtomicBEEF(paymentData.tx);
23
- console.log(paymentData);
24
- const faucetRedeemTXCreationResult = await wallet.createAction({
25
- inputBEEF: tx.toBEEF(),
26
- inputs: [
27
- {
28
- outpoint: `${paymentData.txid}.0`,
29
- unlockingScriptLength: 108,
30
- inputDescription: 'Fund from faucet'
22
+ if (!paymentData.k || !paymentData.tx || !paymentData.txid) {
23
+ throw new Error('Faucet response missing required fields: k, tx, or txid');
24
+ }
25
+ try {
26
+ const tx = sdk_1.Transaction.fromAtomicBEEF(paymentData.tx);
27
+ const faucetRedeemTXCreationResult = await wallet.createAction({
28
+ inputBEEF: tx.toBEEF(),
29
+ inputs: [
30
+ {
31
+ outpoint: `${paymentData.txid}.0`,
32
+ unlockingScriptLength: 108,
33
+ inputDescription: 'Fund from faucet'
34
+ }
35
+ ],
36
+ description: 'Fund wallet',
37
+ options: {
38
+ acceptDelayedBroadcast: false
31
39
  }
32
- ],
33
- description: 'Fund wallet',
34
- options: {
35
- acceptDelayedBroadcast: false
40
+ }, adminOriginator);
41
+ if (!faucetRedeemTXCreationResult.signableTransaction) {
42
+ throw new Error('Faucet redemption did not return a signableTransaction');
36
43
  }
37
- }, adminOriginator);
38
- const faucetRedeemTX = sdk_1.Transaction.fromAtomicBEEF(faucetRedeemTXCreationResult.signableTransaction.tx);
39
- const faucetRedemptionPuzzle = new sdk_1.RPuzzle();
40
- const randomRedemptionPrivateKey = sdk_1.PrivateKey.fromRandom();
41
- const faucetRedeemUnlocker = faucetRedemptionPuzzle.unlock(new sdk_1.BigNumber(paymentData.k, 16), randomRedemptionPrivateKey);
42
- const faucetRedeemUnlockingScript = await faucetRedeemUnlocker.sign(faucetRedeemTX, 0);
43
- const signActionResult = await wallet.signAction({
44
- reference: faucetRedeemTXCreationResult.signableTransaction.reference,
45
- spends: {
46
- 0: {
47
- unlockingScript: faucetRedeemUnlockingScript.toHex()
44
+ const faucetRedeemTX = sdk_1.Transaction.fromAtomicBEEF(faucetRedeemTXCreationResult.signableTransaction.tx);
45
+ const faucetRedemptionPuzzle = new sdk_1.RPuzzle();
46
+ const randomRedemptionPrivateKey = sdk_1.PrivateKey.fromRandom();
47
+ const faucetRedeemUnlocker = faucetRedemptionPuzzle.unlock(new sdk_1.BigNumber(paymentData.k, 16), randomRedemptionPrivateKey);
48
+ const faucetRedeemUnlockingScript = await faucetRedeemUnlocker.sign(faucetRedeemTX, 0);
49
+ await wallet.signAction({
50
+ reference: faucetRedeemTXCreationResult.signableTransaction.reference,
51
+ spends: {
52
+ 0: {
53
+ unlockingScript: faucetRedeemUnlockingScript.toHex()
54
+ }
48
55
  }
49
- }
50
- });
51
- console.log('Sign action result:', signActionResult);
56
+ });
57
+ }
58
+ catch (error) {
59
+ const message = error instanceof Error ? error.message : String(error);
60
+ throw new Error(`Faucet redemption failed: ${message}`);
61
+ }
52
62
  }, stateSnapshot);
53
63
  this.wabClient = wabClient;
54
64
  this.authMethod = authMethod;
@@ -1 +1 @@
1
- {"version":3,"file":"WalletAuthenticationManager.js","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalletAuthenticationManager.js","sourceRoot":"","sources":["../../../src/WalletAuthenticationManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/wallet-toolbox-mobile",
3
- "version": "2.1.10",
3
+ "version": "2.1.11",
4
4
  "description": "Client only Wallet Storage",
5
5
  "main": "./out/src/index.mobile.js",
6
6
  "types": "./out/src/index.mobile.d.ts",
@@ -20,6 +20,8 @@
20
20
  },
21
21
  "homepage": "https://github.com/bsv-blockchain/wallet-toolbox#readme",
22
22
  "dependencies": {
23
- "@bsv/sdk": "^2.0.13"
23
+ "@bsv/sdk": "^2.0.13",
24
+ "hash-wasm": "^4.12.0",
25
+ "idb": "^8.0.2"
24
26
  }
25
27
  }