@dynamic-labs-wallet/browser 0.0.348 → 0.0.350
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.
- package/index.cjs +263 -84
- package/index.esm.js +263 -85
- package/package.json +3 -3
- package/src/backup/password/errors.d.ts +48 -0
- package/src/backup/password/errors.d.ts.map +1 -0
- package/src/client.d.ts +2 -0
- package/src/client.d.ts.map +1 -1
- package/src/errorConstants.d.ts +1 -0
- package/src/errorConstants.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -365,6 +365,196 @@ class StaleLocalSharesError extends Error {
|
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
+
const ERROR_NO_KEY_SHARES_BACKED_UP = 'No key shares were backed up to Dynamic backend';
|
|
369
|
+
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
370
|
+
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
371
|
+
const ERROR_SIGN_MESSAGE = '[DynamicWaasWalletClient]: Error signing message';
|
|
372
|
+
const ERROR_SIGN_TYPED_DATA = '[DynamicWaasWalletClient]: Error signing typed data';
|
|
373
|
+
const ERROR_ACCOUNT_ADDRESS_REQUIRED = '[DynamicWaasWalletClient]: Account address is required';
|
|
374
|
+
const ERROR_VERIFY_MESSAGE_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying message signature';
|
|
375
|
+
const ERROR_VERIFY_TRANSACTION_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying transaction signature';
|
|
376
|
+
const ERROR_EXPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error exporting private key';
|
|
377
|
+
const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing private key';
|
|
378
|
+
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
379
|
+
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
380
|
+
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
381
|
+
// Server-side error returned by /waas/create when an env disallows more than
|
|
382
|
+
// one wallet per chain and the user already has one. Matched verbatim by
|
|
383
|
+
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
384
|
+
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
385
|
+
|
|
386
|
+
const ERROR_PASSWORD_MISMATCH = '[DynamicWaasWalletClient]: Password does not match the password used for existing wallets. All wallets must use the same password for encrypted backups.';
|
|
387
|
+
const ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = '[DynamicWaasWalletClient]: Password is required for refresh/reshare of a password-encrypted wallet.';
|
|
388
|
+
const ERROR_EXISTING_PASSWORD_REQUIRED = '[DynamicWaasWalletClient]: Existing password is required to update the password for encrypted wallets.';
|
|
389
|
+
const ERROR_WALLETS_ALREADY_ENCRYPTED = '[DynamicWaasWalletClient]: Cannot set password: wallets are already password-encrypted. Use updatePassword instead.';
|
|
390
|
+
/**
|
|
391
|
+
* Checks if password consistency validation is needed.
|
|
392
|
+
* Returns false if no password provided or password is the environmentId default.
|
|
393
|
+
*/ function shouldValidatePassword(password, environmentId) {
|
|
394
|
+
if (!password || password === environmentId) {
|
|
395
|
+
return false;
|
|
396
|
+
}
|
|
397
|
+
return true;
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Finds the first password-encrypted wallet in the walletMap.
|
|
401
|
+
* Returns [normalizedAddress, walletProperties] or undefined.
|
|
402
|
+
*/ function findPasswordEncryptedWallet(walletMap) {
|
|
403
|
+
for (const [address, wallet] of Object.entries(walletMap)){
|
|
404
|
+
var _wallet_clientKeySharesBackupInfo;
|
|
405
|
+
if ((_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) {
|
|
406
|
+
return [
|
|
407
|
+
address,
|
|
408
|
+
wallet
|
|
409
|
+
];
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return undefined;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Extracts the first encrypted key share credential from cached encrypted data.
|
|
416
|
+
* Returns the base64-encoded encrypted credential string, or undefined if none found.
|
|
417
|
+
*/ function extractFirstEncryptedCredential(encryptedData) {
|
|
418
|
+
try {
|
|
419
|
+
const parsed = JSON.parse(encryptedData);
|
|
420
|
+
const keyShares = parsed == null ? void 0 : parsed.keyShares;
|
|
421
|
+
if (!Array.isArray(keyShares) || keyShares.length === 0) {
|
|
422
|
+
return undefined;
|
|
423
|
+
}
|
|
424
|
+
return keyShares[0].encryptedAccountCredential;
|
|
425
|
+
} catch (e) {
|
|
426
|
+
return undefined;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Checks if a wallet uses password-based encryption for its key share backups.
|
|
431
|
+
*/ function isWalletPasswordEncrypted(wallet) {
|
|
432
|
+
var _wallet_clientKeySharesBackupInfo;
|
|
433
|
+
var _wallet_clientKeySharesBackupInfo_passwordEncrypted;
|
|
434
|
+
return (_wallet_clientKeySharesBackupInfo_passwordEncrypted = wallet == null ? void 0 : (_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) != null ? _wallet_clientKeySharesBackupInfo_passwordEncrypted : false;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Checks if an error indicates a password mismatch (wrong password during decryption).
|
|
438
|
+
*/ function isPasswordMismatchError(error) {
|
|
439
|
+
return error instanceof InvalidPasswordError;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
/**
|
|
443
|
+
* Failures classified as user-actionable are caused by end-user input or
|
|
444
|
+
* local state and are not actionable by oncall. They are emitted at log
|
|
445
|
+
* level `warn` (status:warning) so the dashboard's primary health metric —
|
|
446
|
+
* System-side Success Rate (status:error denominator only) — does not count
|
|
447
|
+
* them as outages.
|
|
448
|
+
*
|
|
449
|
+
* The `satisfies` clause forces every new PasswordBackupErrorReason to
|
|
450
|
+
* declare its user-actionable bit explicitly — adding a member to the union
|
|
451
|
+
* without updating this map is a compile error.
|
|
452
|
+
*/ const USER_ACTIONABLE_PASSWORD_BACKUP_ERROR_REASONS = {
|
|
453
|
+
wrong_password: true,
|
|
454
|
+
stale_local_shares: false,
|
|
455
|
+
encryption_failure: false,
|
|
456
|
+
decryption_failure: false,
|
|
457
|
+
upload_failure: false,
|
|
458
|
+
activation_failure: false,
|
|
459
|
+
network: false,
|
|
460
|
+
unknown: false
|
|
461
|
+
};
|
|
462
|
+
const isUserActionablePasswordBackupErrorReason = (reason)=>USER_ACTIONABLE_PASSWORD_BACKUP_ERROR_REASONS[reason];
|
|
463
|
+
const NETWORK_ERROR_CODES = new Set([
|
|
464
|
+
'ECONNABORTED',
|
|
465
|
+
'ECONNRESET',
|
|
466
|
+
'ETIMEDOUT',
|
|
467
|
+
'ENETUNREACH'
|
|
468
|
+
]);
|
|
469
|
+
// Browser fetch() throws TypeError on network failure. The message varies by
|
|
470
|
+
// engine: Chrome/Firefox emit 'Failed to fetch' / 'NetworkError when …',
|
|
471
|
+
// Safari emits 'Load failed' or 'The network connection was lost'.
|
|
472
|
+
const FETCH_NETWORK_ERROR_REGEX = /failed to fetch|networkerror|load failed|network connection/i;
|
|
473
|
+
const ENCRYPTION_FAILURE_MESSAGE_PREFIX = 'Error encrypting data:';
|
|
474
|
+
const DECRYPTION_FAILURE_MESSAGE_PREFIX = 'Decryption failed:';
|
|
475
|
+
const isStaleSharesError = (error)=>error instanceof StaleLocalSharesError || error instanceof Error && error.name === 'StaleLocalSharesError';
|
|
476
|
+
const isNetworkLikeError = (error)=>{
|
|
477
|
+
if (typeof error !== 'object' || error === null) {
|
|
478
|
+
return false;
|
|
479
|
+
}
|
|
480
|
+
const maybeAxios = error;
|
|
481
|
+
if (maybeAxios.isAxiosError) {
|
|
482
|
+
return maybeAxios.response === undefined;
|
|
483
|
+
}
|
|
484
|
+
if (typeof maybeAxios.code === 'string' && NETWORK_ERROR_CODES.has(maybeAxios.code)) {
|
|
485
|
+
return true;
|
|
486
|
+
}
|
|
487
|
+
return error instanceof TypeError && FETCH_NETWORK_ERROR_REGEX.test(error.message);
|
|
488
|
+
};
|
|
489
|
+
const isHttpResponseError = (error)=>{
|
|
490
|
+
if (typeof error !== 'object' || error === null) {
|
|
491
|
+
return false;
|
|
492
|
+
}
|
|
493
|
+
const maybeAxios = error;
|
|
494
|
+
return Boolean(maybeAxios.isAxiosError && maybeAxios.response);
|
|
495
|
+
};
|
|
496
|
+
// Cache classification on the Error instance so failures that bubble through
|
|
497
|
+
// multiple catches (orchestrator → setPassword/updatePassword/unlockWallet)
|
|
498
|
+
// only run the full classifier once.
|
|
499
|
+
const CACHED_REASON = Symbol.for('dynamic.passwordBackupErrorReason');
|
|
500
|
+
const readCachedReason = (error)=>{
|
|
501
|
+
if (typeof error !== 'object' || error === null) return undefined;
|
|
502
|
+
return error[CACHED_REASON];
|
|
503
|
+
};
|
|
504
|
+
const writeCachedReason = (error, reason)=>{
|
|
505
|
+
if (typeof error !== 'object' || error === null) return;
|
|
506
|
+
try {
|
|
507
|
+
error[CACHED_REASON] = reason;
|
|
508
|
+
} catch (e) {
|
|
509
|
+
// Frozen/sealed errors — ignore, just lose the cache on this path.
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
const computeReason = (error)=>{
|
|
513
|
+
if (isPasswordMismatchError(error)) {
|
|
514
|
+
return 'wrong_password';
|
|
515
|
+
}
|
|
516
|
+
if (isStaleSharesError(error)) {
|
|
517
|
+
return 'stale_local_shares';
|
|
518
|
+
}
|
|
519
|
+
if (error instanceof Error) {
|
|
520
|
+
if (error.message.includes(ERROR_PASSWORD_MISMATCH)) {
|
|
521
|
+
return 'wrong_password';
|
|
522
|
+
}
|
|
523
|
+
if (error.message.startsWith(ENCRYPTION_FAILURE_MESSAGE_PREFIX)) {
|
|
524
|
+
return 'encryption_failure';
|
|
525
|
+
}
|
|
526
|
+
if (error.message.includes(ERROR_NO_KEY_SHARES_BACKED_UP)) {
|
|
527
|
+
return 'upload_failure';
|
|
528
|
+
}
|
|
529
|
+
if (error.message.startsWith(DECRYPTION_FAILURE_MESSAGE_PREFIX)) {
|
|
530
|
+
return 'decryption_failure';
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
if (isNetworkLikeError(error)) {
|
|
534
|
+
return 'network';
|
|
535
|
+
}
|
|
536
|
+
if (isHttpResponseError(error)) {
|
|
537
|
+
return 'upload_failure';
|
|
538
|
+
}
|
|
539
|
+
return 'unknown';
|
|
540
|
+
};
|
|
541
|
+
/**
|
|
542
|
+
* Classifies an arbitrary error thrown from the password-encrypted backup
|
|
543
|
+
* flow into one of the dashboard-tracked PasswordBackupErrorReason values.
|
|
544
|
+
*
|
|
545
|
+
* Defensive by design: unknown shapes fall through to 'unknown' rather than
|
|
546
|
+
* throwing — this helper runs inside catch blocks and must never mask the
|
|
547
|
+
* original error. Memoizes the result on the Error instance so the same
|
|
548
|
+
* thrown error is only classified once even when it bubbles through
|
|
549
|
+
* multiple catches.
|
|
550
|
+
*/ const classifyPasswordBackupError = (error)=>{
|
|
551
|
+
const cached = readCachedReason(error);
|
|
552
|
+
if (cached !== undefined) return cached;
|
|
553
|
+
const reason = computeReason(error);
|
|
554
|
+
writeCachedReason(error, reason);
|
|
555
|
+
return reason;
|
|
556
|
+
};
|
|
557
|
+
|
|
368
558
|
const GOOGLE_DRIVE_UPLOAD_API = 'https://www.googleapis.com';
|
|
369
559
|
const GOOGLE_OAUTH_TOKENINFO_API = 'https://oauth2.googleapis.com/tokeninfo';
|
|
370
560
|
// Mirrors GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES in
|
|
@@ -694,85 +884,12 @@ const ROOM_EXPIRATION_TIME = 1000 * 60 * 10; // 10 minutes
|
|
|
694
884
|
const ROOM_CACHE_COUNT = 5;
|
|
695
885
|
const ENVIRONMENT_SETTINGS_STORAGE_KEY = 'dynamic_environment_settings';
|
|
696
886
|
|
|
697
|
-
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
698
|
-
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
699
|
-
const ERROR_SIGN_MESSAGE = '[DynamicWaasWalletClient]: Error signing message';
|
|
700
|
-
const ERROR_SIGN_TYPED_DATA = '[DynamicWaasWalletClient]: Error signing typed data';
|
|
701
|
-
const ERROR_ACCOUNT_ADDRESS_REQUIRED = '[DynamicWaasWalletClient]: Account address is required';
|
|
702
|
-
const ERROR_VERIFY_MESSAGE_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying message signature';
|
|
703
|
-
const ERROR_VERIFY_TRANSACTION_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying transaction signature';
|
|
704
|
-
const ERROR_EXPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error exporting private key';
|
|
705
|
-
const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing private key';
|
|
706
|
-
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
707
|
-
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
708
|
-
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
709
|
-
// Server-side error returned by /waas/create when an env disallows more than
|
|
710
|
-
// one wallet per chain and the user already has one. Matched verbatim by
|
|
711
|
-
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
712
|
-
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
713
|
-
|
|
714
887
|
/**
|
|
715
888
|
* Normalizes an address to lowercase for consistent map key lookups.
|
|
716
889
|
* This ensures that addresses with different casing (e.g., EIP-55 checksummed vs lowercase)
|
|
717
890
|
* resolve to the same wallet entry.
|
|
718
891
|
*/ const normalizeAddress = (address)=>address.toLowerCase();
|
|
719
892
|
|
|
720
|
-
const ERROR_PASSWORD_MISMATCH = '[DynamicWaasWalletClient]: Password does not match the password used for existing wallets. All wallets must use the same password for encrypted backups.';
|
|
721
|
-
const ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = '[DynamicWaasWalletClient]: Password is required for refresh/reshare of a password-encrypted wallet.';
|
|
722
|
-
const ERROR_EXISTING_PASSWORD_REQUIRED = '[DynamicWaasWalletClient]: Existing password is required to update the password for encrypted wallets.';
|
|
723
|
-
const ERROR_WALLETS_ALREADY_ENCRYPTED = '[DynamicWaasWalletClient]: Cannot set password: wallets are already password-encrypted. Use updatePassword instead.';
|
|
724
|
-
/**
|
|
725
|
-
* Checks if password consistency validation is needed.
|
|
726
|
-
* Returns false if no password provided or password is the environmentId default.
|
|
727
|
-
*/ function shouldValidatePassword(password, environmentId) {
|
|
728
|
-
if (!password || password === environmentId) {
|
|
729
|
-
return false;
|
|
730
|
-
}
|
|
731
|
-
return true;
|
|
732
|
-
}
|
|
733
|
-
/**
|
|
734
|
-
* Finds the first password-encrypted wallet in the walletMap.
|
|
735
|
-
* Returns [normalizedAddress, walletProperties] or undefined.
|
|
736
|
-
*/ function findPasswordEncryptedWallet(walletMap) {
|
|
737
|
-
for (const [address, wallet] of Object.entries(walletMap)){
|
|
738
|
-
var _wallet_clientKeySharesBackupInfo;
|
|
739
|
-
if ((_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) {
|
|
740
|
-
return [
|
|
741
|
-
address,
|
|
742
|
-
wallet
|
|
743
|
-
];
|
|
744
|
-
}
|
|
745
|
-
}
|
|
746
|
-
return undefined;
|
|
747
|
-
}
|
|
748
|
-
/**
|
|
749
|
-
* Extracts the first encrypted key share credential from cached encrypted data.
|
|
750
|
-
* Returns the base64-encoded encrypted credential string, or undefined if none found.
|
|
751
|
-
*/ function extractFirstEncryptedCredential(encryptedData) {
|
|
752
|
-
try {
|
|
753
|
-
const parsed = JSON.parse(encryptedData);
|
|
754
|
-
const keyShares = parsed == null ? void 0 : parsed.keyShares;
|
|
755
|
-
if (!Array.isArray(keyShares) || keyShares.length === 0) {
|
|
756
|
-
return undefined;
|
|
757
|
-
}
|
|
758
|
-
return keyShares[0].encryptedAccountCredential;
|
|
759
|
-
} catch (e) {
|
|
760
|
-
return undefined;
|
|
761
|
-
}
|
|
762
|
-
}
|
|
763
|
-
/**
|
|
764
|
-
* Checks if a wallet uses password-based encryption for its key share backups.
|
|
765
|
-
*/ function isWalletPasswordEncrypted(wallet) {
|
|
766
|
-
var _wallet_clientKeySharesBackupInfo;
|
|
767
|
-
var _wallet_clientKeySharesBackupInfo_passwordEncrypted;
|
|
768
|
-
return (_wallet_clientKeySharesBackupInfo_passwordEncrypted = wallet == null ? void 0 : (_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) != null ? _wallet_clientKeySharesBackupInfo_passwordEncrypted : false;
|
|
769
|
-
}
|
|
770
|
-
/**
|
|
771
|
-
* Checks if an error indicates a password mismatch (wrong password during decryption).
|
|
772
|
-
*/ function isPasswordMismatchError(error) {
|
|
773
|
-
return error instanceof InvalidPasswordError;
|
|
774
|
-
}
|
|
775
|
-
|
|
776
893
|
const isBrowser = ()=>typeof window !== 'undefined';
|
|
777
894
|
/**
|
|
778
895
|
* Helper function to extract pubkey from potentially nested structure
|
|
@@ -4078,7 +4195,7 @@ class DynamicWalletClient {
|
|
|
4078
4195
|
dynamicRequestId
|
|
4079
4196
|
});
|
|
4080
4197
|
if (data.keyShareIds.length === 0) {
|
|
4081
|
-
throw new Error(
|
|
4198
|
+
throw new Error(ERROR_NO_KEY_SHARES_BACKED_UP);
|
|
4082
4199
|
}
|
|
4083
4200
|
// For batch password updates, stage to the pending key now so that all wallets'
|
|
4084
4201
|
// shares are ready to promote atomically when the last one activates.
|
|
@@ -4223,18 +4340,20 @@ class DynamicWalletClient {
|
|
|
4223
4340
|
const dynamicRequestId = uuid.v4();
|
|
4224
4341
|
// Get wallet data early for logging context (also used in catch block)
|
|
4225
4342
|
const walletData = this.getWalletFromMap(accountAddress);
|
|
4226
|
-
// Common context for all logs in this method
|
|
4343
|
+
// Common context for all logs in this method. hasPassword and
|
|
4344
|
+
// passwordUpdateBatchId are propagated to every subordinate log line so
|
|
4345
|
+
// the password-encrypted backups dashboard can filter on @hasPassword:true.
|
|
4227
4346
|
const logContext = {
|
|
4228
4347
|
accountAddress,
|
|
4229
4348
|
dynamicRequestId,
|
|
4230
4349
|
walletId: walletData == null ? void 0 : walletData.walletId,
|
|
4231
4350
|
userId: this.userId,
|
|
4232
|
-
environmentId: this.environmentId
|
|
4351
|
+
environmentId: this.environmentId,
|
|
4352
|
+
hasPassword: !!password,
|
|
4353
|
+
passwordUpdateBatchId
|
|
4233
4354
|
};
|
|
4234
4355
|
this.logger.info('[backupSharesWithDistribution] Starting backup', _extends({}, logContext, {
|
|
4235
|
-
hasPassword: !!password,
|
|
4236
4356
|
preserveDelegatedLocation,
|
|
4237
|
-
passwordUpdateBatchId,
|
|
4238
4357
|
dynamicShareCount: distribution.clientShares.length,
|
|
4239
4358
|
cloudProviders: Object.keys(distribution.cloudProviderShares),
|
|
4240
4359
|
hasDelegatedShare: !!distribution.delegatedShare
|
|
@@ -4315,7 +4434,8 @@ class DynamicWalletClient {
|
|
|
4315
4434
|
});
|
|
4316
4435
|
return true;
|
|
4317
4436
|
}
|
|
4318
|
-
|
|
4437
|
+
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
4438
|
+
return status === undefined || status === 429 || status >= 500;
|
|
4319
4439
|
}
|
|
4320
4440
|
}));
|
|
4321
4441
|
}
|
|
@@ -4375,7 +4495,8 @@ class DynamicWalletClient {
|
|
|
4375
4495
|
operationName: BACKUP_OPERATION.MarkBackedUp,
|
|
4376
4496
|
shouldRetry: (error)=>{
|
|
4377
4497
|
const status = getHttpStatus(error);
|
|
4378
|
-
|
|
4498
|
+
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
4499
|
+
return status === undefined || status === 429 || status >= 500;
|
|
4379
4500
|
}
|
|
4380
4501
|
});
|
|
4381
4502
|
// For password update pending responses, skip walletMap update — shares aren't active yet
|
|
@@ -4419,12 +4540,20 @@ class DynamicWalletClient {
|
|
|
4419
4540
|
}));
|
|
4420
4541
|
return backupData;
|
|
4421
4542
|
} catch (error) {
|
|
4543
|
+
const errorReason = classifyPasswordBackupError(error);
|
|
4544
|
+
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
4545
|
+
logFn.call(this.logger, '[backupSharesWithDistribution] failed', _extends({}, logContext, {
|
|
4546
|
+
chainName: walletData == null ? void 0 : walletData.chainName,
|
|
4547
|
+
errorReason,
|
|
4548
|
+
errorName: error instanceof Error ? error.name : undefined,
|
|
4549
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
4550
|
+
errorStack: error instanceof Error ? error.stack : undefined
|
|
4551
|
+
}));
|
|
4422
4552
|
logError({
|
|
4423
4553
|
message: 'Error in backupSharesWithDistribution',
|
|
4424
4554
|
error: error,
|
|
4425
4555
|
context: _extends({}, logContext, {
|
|
4426
|
-
chainName: walletData == null ? void 0 : walletData.chainName
|
|
4427
|
-
errorStack: error instanceof Error ? error.stack : undefined
|
|
4556
|
+
chainName: walletData == null ? void 0 : walletData.chainName
|
|
4428
4557
|
})
|
|
4429
4558
|
});
|
|
4430
4559
|
throw error;
|
|
@@ -4628,6 +4757,28 @@ class DynamicWalletClient {
|
|
|
4628
4757
|
keygenIds: (_backupData_locationsWithKeyShares_map1 = (_backupData_locationsWithKeyShares1 = backupData.locationsWithKeyShares) == null ? void 0 : _backupData_locationsWithKeyShares1.map((ks)=>ks.keygenId)) != null ? _backupData_locationsWithKeyShares_map1 : []
|
|
4629
4758
|
});
|
|
4630
4759
|
}
|
|
4760
|
+
logPasswordOperationSuccess(passwordOperation, context) {
|
|
4761
|
+
this.logger.info(`[${passwordOperation}] succeeded`, _extends({}, context, {
|
|
4762
|
+
passwordOperation,
|
|
4763
|
+
environmentId: this.environmentId,
|
|
4764
|
+
userId: this.userId
|
|
4765
|
+
}));
|
|
4766
|
+
}
|
|
4767
|
+
// User-actionable failures (wrong_password) route to warn/status:warning so
|
|
4768
|
+
// they don't count against the dashboard's System-side Success Rate metric.
|
|
4769
|
+
logPasswordOperationFailure(passwordOperation, error, context) {
|
|
4770
|
+
const errorReason = classifyPasswordBackupError(error);
|
|
4771
|
+
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
4772
|
+
logFn.call(this.logger, `[${passwordOperation}] failed`, _extends({}, context, {
|
|
4773
|
+
passwordOperation,
|
|
4774
|
+
errorReason,
|
|
4775
|
+
environmentId: this.environmentId,
|
|
4776
|
+
userId: this.userId,
|
|
4777
|
+
errorName: error instanceof Error ? error.name : undefined,
|
|
4778
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
4779
|
+
errorStack: error instanceof Error ? error.stack : undefined
|
|
4780
|
+
}));
|
|
4781
|
+
}
|
|
4631
4782
|
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, passwordUpdateBatchId }) {
|
|
4632
4783
|
const dynamicRequestId = uuid.v4();
|
|
4633
4784
|
try {
|
|
@@ -4649,6 +4800,11 @@ class DynamicWalletClient {
|
|
|
4649
4800
|
signedSessionId,
|
|
4650
4801
|
passwordUpdateBatchId
|
|
4651
4802
|
});
|
|
4803
|
+
this.logPasswordOperationSuccess('updatePassword', {
|
|
4804
|
+
accountAddress,
|
|
4805
|
+
walletId: wallet == null ? void 0 : wallet.walletId,
|
|
4806
|
+
passwordUpdateBatchId
|
|
4807
|
+
});
|
|
4652
4808
|
} catch (error) {
|
|
4653
4809
|
var _this_storage_removeItem, _this_storage;
|
|
4654
4810
|
// The pending encrypted-shares cache entry may have been written before the failure.
|
|
@@ -4656,6 +4812,10 @@ class DynamicWalletClient {
|
|
|
4656
4812
|
await ((_this_storage = this.storage) == null ? void 0 : (_this_storage_removeItem = _this_storage.removeItem(`${normalizeAddress(accountAddress)}${ENCRYPTED_SHARES_PENDING_SUFFIX}`)) == null ? void 0 : _this_storage_removeItem.catch(()=>{
|
|
4657
4813
|
// Ignore — don't mask the original error
|
|
4658
4814
|
}));
|
|
4815
|
+
this.logPasswordOperationFailure('updatePassword', error, {
|
|
4816
|
+
accountAddress,
|
|
4817
|
+
passwordUpdateBatchId
|
|
4818
|
+
});
|
|
4659
4819
|
logError({
|
|
4660
4820
|
message: 'Error in updatePassword',
|
|
4661
4821
|
error: error,
|
|
@@ -4680,6 +4840,11 @@ class DynamicWalletClient {
|
|
|
4680
4840
|
signedSessionId,
|
|
4681
4841
|
passwordUpdateBatchId
|
|
4682
4842
|
});
|
|
4843
|
+
this.logPasswordOperationSuccess('setPassword', {
|
|
4844
|
+
accountAddress,
|
|
4845
|
+
walletId: wallet == null ? void 0 : wallet.walletId,
|
|
4846
|
+
passwordUpdateBatchId
|
|
4847
|
+
});
|
|
4683
4848
|
} catch (error) {
|
|
4684
4849
|
var _this_storage_removeItem, _this_storage;
|
|
4685
4850
|
// A pending cache entry may have been written if passwordUpdateBatchId was set.
|
|
@@ -4687,6 +4852,10 @@ class DynamicWalletClient {
|
|
|
4687
4852
|
await ((_this_storage = this.storage) == null ? void 0 : (_this_storage_removeItem = _this_storage.removeItem(`${normalizeAddress(accountAddress)}${ENCRYPTED_SHARES_PENDING_SUFFIX}`)) == null ? void 0 : _this_storage_removeItem.catch(()=>{
|
|
4688
4853
|
// Ignore — don't mask the original error
|
|
4689
4854
|
}));
|
|
4855
|
+
this.logPasswordOperationFailure('setPassword', error, {
|
|
4856
|
+
accountAddress,
|
|
4857
|
+
passwordUpdateBatchId
|
|
4858
|
+
});
|
|
4690
4859
|
logError({
|
|
4691
4860
|
message: 'Error in setPassword',
|
|
4692
4861
|
error: error,
|
|
@@ -5805,6 +5974,7 @@ class DynamicWalletClient {
|
|
|
5805
5974
|
*/ async unlockWallet({ accountAddress, password, signedSessionId, mfaToken }) {
|
|
5806
5975
|
const dynamicRequestId = uuid.v4();
|
|
5807
5976
|
try {
|
|
5977
|
+
var _this_getWalletFromMap;
|
|
5808
5978
|
await this.requireWalletFromMap(accountAddress, signedSessionId);
|
|
5809
5979
|
const walletInMap = this.getWalletFromMap(accountAddress);
|
|
5810
5980
|
if ((walletInMap == null ? void 0 : walletInMap.walletReadyState) === core.WalletReadyState.READY) {
|
|
@@ -5884,11 +6054,19 @@ class DynamicWalletClient {
|
|
|
5884
6054
|
}
|
|
5885
6055
|
}
|
|
5886
6056
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
5887
|
-
|
|
5888
|
-
|
|
6057
|
+
const additionalWalletsFailed = results.filter((r)=>r.status === 'rejected').length;
|
|
6058
|
+
const additionalWalletsUnlocked = results.length - additionalWalletsFailed;
|
|
6059
|
+
this.logPasswordOperationSuccess('unlockWallet', {
|
|
6060
|
+
accountAddress,
|
|
6061
|
+
walletId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.walletId,
|
|
6062
|
+
additionalWalletsUnlocked,
|
|
6063
|
+
additionalWalletsFailed
|
|
5889
6064
|
});
|
|
5890
6065
|
return this.getWalletFromMap(accountAddress);
|
|
5891
6066
|
} catch (error) {
|
|
6067
|
+
this.logPasswordOperationFailure('unlockWallet', error, {
|
|
6068
|
+
accountAddress
|
|
6069
|
+
});
|
|
5892
6070
|
logError({
|
|
5893
6071
|
message: 'Error in unlockWallet',
|
|
5894
6072
|
error: error,
|
|
@@ -6322,6 +6500,7 @@ exports.ERROR_EXPORT_PRIVATE_KEY = ERROR_EXPORT_PRIVATE_KEY;
|
|
|
6322
6500
|
exports.ERROR_IMPORT_PRIVATE_KEY = ERROR_IMPORT_PRIVATE_KEY;
|
|
6323
6501
|
exports.ERROR_KEYGEN_FAILED = ERROR_KEYGEN_FAILED;
|
|
6324
6502
|
exports.ERROR_MULTIPLE_WALLETS_PER_CHAIN = ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
6503
|
+
exports.ERROR_NO_KEY_SHARES_BACKED_UP = ERROR_NO_KEY_SHARES_BACKED_UP;
|
|
6325
6504
|
exports.ERROR_PASSCODE_REQUIRED = ERROR_PASSCODE_REQUIRED;
|
|
6326
6505
|
exports.ERROR_PASSWORD_MISMATCH = ERROR_PASSWORD_MISMATCH;
|
|
6327
6506
|
exports.ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET;
|
package/index.esm.js
CHANGED
|
@@ -366,6 +366,196 @@ class StaleLocalSharesError extends Error {
|
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
+
const ERROR_NO_KEY_SHARES_BACKED_UP = 'No key shares were backed up to Dynamic backend';
|
|
370
|
+
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
371
|
+
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
372
|
+
const ERROR_SIGN_MESSAGE = '[DynamicWaasWalletClient]: Error signing message';
|
|
373
|
+
const ERROR_SIGN_TYPED_DATA = '[DynamicWaasWalletClient]: Error signing typed data';
|
|
374
|
+
const ERROR_ACCOUNT_ADDRESS_REQUIRED = '[DynamicWaasWalletClient]: Account address is required';
|
|
375
|
+
const ERROR_VERIFY_MESSAGE_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying message signature';
|
|
376
|
+
const ERROR_VERIFY_TRANSACTION_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying transaction signature';
|
|
377
|
+
const ERROR_EXPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error exporting private key';
|
|
378
|
+
const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing private key';
|
|
379
|
+
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
380
|
+
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
381
|
+
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
382
|
+
// Server-side error returned by /waas/create when an env disallows more than
|
|
383
|
+
// one wallet per chain and the user already has one. Matched verbatim by
|
|
384
|
+
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
385
|
+
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
386
|
+
|
|
387
|
+
const ERROR_PASSWORD_MISMATCH = '[DynamicWaasWalletClient]: Password does not match the password used for existing wallets. All wallets must use the same password for encrypted backups.';
|
|
388
|
+
const ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = '[DynamicWaasWalletClient]: Password is required for refresh/reshare of a password-encrypted wallet.';
|
|
389
|
+
const ERROR_EXISTING_PASSWORD_REQUIRED = '[DynamicWaasWalletClient]: Existing password is required to update the password for encrypted wallets.';
|
|
390
|
+
const ERROR_WALLETS_ALREADY_ENCRYPTED = '[DynamicWaasWalletClient]: Cannot set password: wallets are already password-encrypted. Use updatePassword instead.';
|
|
391
|
+
/**
|
|
392
|
+
* Checks if password consistency validation is needed.
|
|
393
|
+
* Returns false if no password provided or password is the environmentId default.
|
|
394
|
+
*/ function shouldValidatePassword(password, environmentId) {
|
|
395
|
+
if (!password || password === environmentId) {
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
return true;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Finds the first password-encrypted wallet in the walletMap.
|
|
402
|
+
* Returns [normalizedAddress, walletProperties] or undefined.
|
|
403
|
+
*/ function findPasswordEncryptedWallet(walletMap) {
|
|
404
|
+
for (const [address, wallet] of Object.entries(walletMap)){
|
|
405
|
+
var _wallet_clientKeySharesBackupInfo;
|
|
406
|
+
if ((_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) {
|
|
407
|
+
return [
|
|
408
|
+
address,
|
|
409
|
+
wallet
|
|
410
|
+
];
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
return undefined;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Extracts the first encrypted key share credential from cached encrypted data.
|
|
417
|
+
* Returns the base64-encoded encrypted credential string, or undefined if none found.
|
|
418
|
+
*/ function extractFirstEncryptedCredential(encryptedData) {
|
|
419
|
+
try {
|
|
420
|
+
const parsed = JSON.parse(encryptedData);
|
|
421
|
+
const keyShares = parsed == null ? void 0 : parsed.keyShares;
|
|
422
|
+
if (!Array.isArray(keyShares) || keyShares.length === 0) {
|
|
423
|
+
return undefined;
|
|
424
|
+
}
|
|
425
|
+
return keyShares[0].encryptedAccountCredential;
|
|
426
|
+
} catch (e) {
|
|
427
|
+
return undefined;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Checks if a wallet uses password-based encryption for its key share backups.
|
|
432
|
+
*/ function isWalletPasswordEncrypted(wallet) {
|
|
433
|
+
var _wallet_clientKeySharesBackupInfo;
|
|
434
|
+
var _wallet_clientKeySharesBackupInfo_passwordEncrypted;
|
|
435
|
+
return (_wallet_clientKeySharesBackupInfo_passwordEncrypted = wallet == null ? void 0 : (_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) != null ? _wallet_clientKeySharesBackupInfo_passwordEncrypted : false;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Checks if an error indicates a password mismatch (wrong password during decryption).
|
|
439
|
+
*/ function isPasswordMismatchError(error) {
|
|
440
|
+
return error instanceof InvalidPasswordError;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Failures classified as user-actionable are caused by end-user input or
|
|
445
|
+
* local state and are not actionable by oncall. They are emitted at log
|
|
446
|
+
* level `warn` (status:warning) so the dashboard's primary health metric —
|
|
447
|
+
* System-side Success Rate (status:error denominator only) — does not count
|
|
448
|
+
* them as outages.
|
|
449
|
+
*
|
|
450
|
+
* The `satisfies` clause forces every new PasswordBackupErrorReason to
|
|
451
|
+
* declare its user-actionable bit explicitly — adding a member to the union
|
|
452
|
+
* without updating this map is a compile error.
|
|
453
|
+
*/ const USER_ACTIONABLE_PASSWORD_BACKUP_ERROR_REASONS = {
|
|
454
|
+
wrong_password: true,
|
|
455
|
+
stale_local_shares: false,
|
|
456
|
+
encryption_failure: false,
|
|
457
|
+
decryption_failure: false,
|
|
458
|
+
upload_failure: false,
|
|
459
|
+
activation_failure: false,
|
|
460
|
+
network: false,
|
|
461
|
+
unknown: false
|
|
462
|
+
};
|
|
463
|
+
const isUserActionablePasswordBackupErrorReason = (reason)=>USER_ACTIONABLE_PASSWORD_BACKUP_ERROR_REASONS[reason];
|
|
464
|
+
const NETWORK_ERROR_CODES = new Set([
|
|
465
|
+
'ECONNABORTED',
|
|
466
|
+
'ECONNRESET',
|
|
467
|
+
'ETIMEDOUT',
|
|
468
|
+
'ENETUNREACH'
|
|
469
|
+
]);
|
|
470
|
+
// Browser fetch() throws TypeError on network failure. The message varies by
|
|
471
|
+
// engine: Chrome/Firefox emit 'Failed to fetch' / 'NetworkError when …',
|
|
472
|
+
// Safari emits 'Load failed' or 'The network connection was lost'.
|
|
473
|
+
const FETCH_NETWORK_ERROR_REGEX = /failed to fetch|networkerror|load failed|network connection/i;
|
|
474
|
+
const ENCRYPTION_FAILURE_MESSAGE_PREFIX = 'Error encrypting data:';
|
|
475
|
+
const DECRYPTION_FAILURE_MESSAGE_PREFIX = 'Decryption failed:';
|
|
476
|
+
const isStaleSharesError = (error)=>error instanceof StaleLocalSharesError || error instanceof Error && error.name === 'StaleLocalSharesError';
|
|
477
|
+
const isNetworkLikeError = (error)=>{
|
|
478
|
+
if (typeof error !== 'object' || error === null) {
|
|
479
|
+
return false;
|
|
480
|
+
}
|
|
481
|
+
const maybeAxios = error;
|
|
482
|
+
if (maybeAxios.isAxiosError) {
|
|
483
|
+
return maybeAxios.response === undefined;
|
|
484
|
+
}
|
|
485
|
+
if (typeof maybeAxios.code === 'string' && NETWORK_ERROR_CODES.has(maybeAxios.code)) {
|
|
486
|
+
return true;
|
|
487
|
+
}
|
|
488
|
+
return error instanceof TypeError && FETCH_NETWORK_ERROR_REGEX.test(error.message);
|
|
489
|
+
};
|
|
490
|
+
const isHttpResponseError = (error)=>{
|
|
491
|
+
if (typeof error !== 'object' || error === null) {
|
|
492
|
+
return false;
|
|
493
|
+
}
|
|
494
|
+
const maybeAxios = error;
|
|
495
|
+
return Boolean(maybeAxios.isAxiosError && maybeAxios.response);
|
|
496
|
+
};
|
|
497
|
+
// Cache classification on the Error instance so failures that bubble through
|
|
498
|
+
// multiple catches (orchestrator → setPassword/updatePassword/unlockWallet)
|
|
499
|
+
// only run the full classifier once.
|
|
500
|
+
const CACHED_REASON = Symbol.for('dynamic.passwordBackupErrorReason');
|
|
501
|
+
const readCachedReason = (error)=>{
|
|
502
|
+
if (typeof error !== 'object' || error === null) return undefined;
|
|
503
|
+
return error[CACHED_REASON];
|
|
504
|
+
};
|
|
505
|
+
const writeCachedReason = (error, reason)=>{
|
|
506
|
+
if (typeof error !== 'object' || error === null) return;
|
|
507
|
+
try {
|
|
508
|
+
error[CACHED_REASON] = reason;
|
|
509
|
+
} catch (e) {
|
|
510
|
+
// Frozen/sealed errors — ignore, just lose the cache on this path.
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
const computeReason = (error)=>{
|
|
514
|
+
if (isPasswordMismatchError(error)) {
|
|
515
|
+
return 'wrong_password';
|
|
516
|
+
}
|
|
517
|
+
if (isStaleSharesError(error)) {
|
|
518
|
+
return 'stale_local_shares';
|
|
519
|
+
}
|
|
520
|
+
if (error instanceof Error) {
|
|
521
|
+
if (error.message.includes(ERROR_PASSWORD_MISMATCH)) {
|
|
522
|
+
return 'wrong_password';
|
|
523
|
+
}
|
|
524
|
+
if (error.message.startsWith(ENCRYPTION_FAILURE_MESSAGE_PREFIX)) {
|
|
525
|
+
return 'encryption_failure';
|
|
526
|
+
}
|
|
527
|
+
if (error.message.includes(ERROR_NO_KEY_SHARES_BACKED_UP)) {
|
|
528
|
+
return 'upload_failure';
|
|
529
|
+
}
|
|
530
|
+
if (error.message.startsWith(DECRYPTION_FAILURE_MESSAGE_PREFIX)) {
|
|
531
|
+
return 'decryption_failure';
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
if (isNetworkLikeError(error)) {
|
|
535
|
+
return 'network';
|
|
536
|
+
}
|
|
537
|
+
if (isHttpResponseError(error)) {
|
|
538
|
+
return 'upload_failure';
|
|
539
|
+
}
|
|
540
|
+
return 'unknown';
|
|
541
|
+
};
|
|
542
|
+
/**
|
|
543
|
+
* Classifies an arbitrary error thrown from the password-encrypted backup
|
|
544
|
+
* flow into one of the dashboard-tracked PasswordBackupErrorReason values.
|
|
545
|
+
*
|
|
546
|
+
* Defensive by design: unknown shapes fall through to 'unknown' rather than
|
|
547
|
+
* throwing — this helper runs inside catch blocks and must never mask the
|
|
548
|
+
* original error. Memoizes the result on the Error instance so the same
|
|
549
|
+
* thrown error is only classified once even when it bubbles through
|
|
550
|
+
* multiple catches.
|
|
551
|
+
*/ const classifyPasswordBackupError = (error)=>{
|
|
552
|
+
const cached = readCachedReason(error);
|
|
553
|
+
if (cached !== undefined) return cached;
|
|
554
|
+
const reason = computeReason(error);
|
|
555
|
+
writeCachedReason(error, reason);
|
|
556
|
+
return reason;
|
|
557
|
+
};
|
|
558
|
+
|
|
369
559
|
const GOOGLE_DRIVE_UPLOAD_API = 'https://www.googleapis.com';
|
|
370
560
|
const GOOGLE_OAUTH_TOKENINFO_API = 'https://oauth2.googleapis.com/tokeninfo';
|
|
371
561
|
// Mirrors GOOGLE_DRIVE_BACKUP_REQUIRED_SCOPES in
|
|
@@ -695,85 +885,12 @@ const ROOM_EXPIRATION_TIME = 1000 * 60 * 10; // 10 minutes
|
|
|
695
885
|
const ROOM_CACHE_COUNT = 5;
|
|
696
886
|
const ENVIRONMENT_SETTINGS_STORAGE_KEY = 'dynamic_environment_settings';
|
|
697
887
|
|
|
698
|
-
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
699
|
-
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
700
|
-
const ERROR_SIGN_MESSAGE = '[DynamicWaasWalletClient]: Error signing message';
|
|
701
|
-
const ERROR_SIGN_TYPED_DATA = '[DynamicWaasWalletClient]: Error signing typed data';
|
|
702
|
-
const ERROR_ACCOUNT_ADDRESS_REQUIRED = '[DynamicWaasWalletClient]: Account address is required';
|
|
703
|
-
const ERROR_VERIFY_MESSAGE_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying message signature';
|
|
704
|
-
const ERROR_VERIFY_TRANSACTION_SIGNATURE = '[DynamicWaasWalletClient]: Error verifying transaction signature';
|
|
705
|
-
const ERROR_EXPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error exporting private key';
|
|
706
|
-
const ERROR_IMPORT_PRIVATE_KEY = '[DynamicWaasWalletClient]: Error importing private key';
|
|
707
|
-
const ERROR_PUBLIC_KEY_MISMATCH = 'Mismatch between the public keys of the server and the ones provided';
|
|
708
|
-
const ERROR_PASSCODE_REQUIRED = '[DynamicWaasWalletClient]: A passcode is required for this environment. Please provide a password.';
|
|
709
|
-
const ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE = '[DynamicWaasWalletClient]: Refresh is not supported for 2/3 wallets. Reshare to 2/2 before refreshing.';
|
|
710
|
-
// Server-side error returned by /waas/create when an env disallows more than
|
|
711
|
-
// one wallet per chain and the user already has one. Matched verbatim by
|
|
712
|
-
// isNonRetryableCeremonyError — keep in sync with the backend wording.
|
|
713
|
-
const ERROR_MULTIPLE_WALLETS_PER_CHAIN = 'Multiple wallets per chain not allowed';
|
|
714
|
-
|
|
715
888
|
/**
|
|
716
889
|
* Normalizes an address to lowercase for consistent map key lookups.
|
|
717
890
|
* This ensures that addresses with different casing (e.g., EIP-55 checksummed vs lowercase)
|
|
718
891
|
* resolve to the same wallet entry.
|
|
719
892
|
*/ const normalizeAddress = (address)=>address.toLowerCase();
|
|
720
893
|
|
|
721
|
-
const ERROR_PASSWORD_MISMATCH = '[DynamicWaasWalletClient]: Password does not match the password used for existing wallets. All wallets must use the same password for encrypted backups.';
|
|
722
|
-
const ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET = '[DynamicWaasWalletClient]: Password is required for refresh/reshare of a password-encrypted wallet.';
|
|
723
|
-
const ERROR_EXISTING_PASSWORD_REQUIRED = '[DynamicWaasWalletClient]: Existing password is required to update the password for encrypted wallets.';
|
|
724
|
-
const ERROR_WALLETS_ALREADY_ENCRYPTED = '[DynamicWaasWalletClient]: Cannot set password: wallets are already password-encrypted. Use updatePassword instead.';
|
|
725
|
-
/**
|
|
726
|
-
* Checks if password consistency validation is needed.
|
|
727
|
-
* Returns false if no password provided or password is the environmentId default.
|
|
728
|
-
*/ function shouldValidatePassword(password, environmentId) {
|
|
729
|
-
if (!password || password === environmentId) {
|
|
730
|
-
return false;
|
|
731
|
-
}
|
|
732
|
-
return true;
|
|
733
|
-
}
|
|
734
|
-
/**
|
|
735
|
-
* Finds the first password-encrypted wallet in the walletMap.
|
|
736
|
-
* Returns [normalizedAddress, walletProperties] or undefined.
|
|
737
|
-
*/ function findPasswordEncryptedWallet(walletMap) {
|
|
738
|
-
for (const [address, wallet] of Object.entries(walletMap)){
|
|
739
|
-
var _wallet_clientKeySharesBackupInfo;
|
|
740
|
-
if ((_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) {
|
|
741
|
-
return [
|
|
742
|
-
address,
|
|
743
|
-
wallet
|
|
744
|
-
];
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
return undefined;
|
|
748
|
-
}
|
|
749
|
-
/**
|
|
750
|
-
* Extracts the first encrypted key share credential from cached encrypted data.
|
|
751
|
-
* Returns the base64-encoded encrypted credential string, or undefined if none found.
|
|
752
|
-
*/ function extractFirstEncryptedCredential(encryptedData) {
|
|
753
|
-
try {
|
|
754
|
-
const parsed = JSON.parse(encryptedData);
|
|
755
|
-
const keyShares = parsed == null ? void 0 : parsed.keyShares;
|
|
756
|
-
if (!Array.isArray(keyShares) || keyShares.length === 0) {
|
|
757
|
-
return undefined;
|
|
758
|
-
}
|
|
759
|
-
return keyShares[0].encryptedAccountCredential;
|
|
760
|
-
} catch (e) {
|
|
761
|
-
return undefined;
|
|
762
|
-
}
|
|
763
|
-
}
|
|
764
|
-
/**
|
|
765
|
-
* Checks if a wallet uses password-based encryption for its key share backups.
|
|
766
|
-
*/ function isWalletPasswordEncrypted(wallet) {
|
|
767
|
-
var _wallet_clientKeySharesBackupInfo;
|
|
768
|
-
var _wallet_clientKeySharesBackupInfo_passwordEncrypted;
|
|
769
|
-
return (_wallet_clientKeySharesBackupInfo_passwordEncrypted = wallet == null ? void 0 : (_wallet_clientKeySharesBackupInfo = wallet.clientKeySharesBackupInfo) == null ? void 0 : _wallet_clientKeySharesBackupInfo.passwordEncrypted) != null ? _wallet_clientKeySharesBackupInfo_passwordEncrypted : false;
|
|
770
|
-
}
|
|
771
|
-
/**
|
|
772
|
-
* Checks if an error indicates a password mismatch (wrong password during decryption).
|
|
773
|
-
*/ function isPasswordMismatchError(error) {
|
|
774
|
-
return error instanceof InvalidPasswordError;
|
|
775
|
-
}
|
|
776
|
-
|
|
777
894
|
const isBrowser = ()=>typeof window !== 'undefined';
|
|
778
895
|
/**
|
|
779
896
|
* Helper function to extract pubkey from potentially nested structure
|
|
@@ -4079,7 +4196,7 @@ class DynamicWalletClient {
|
|
|
4079
4196
|
dynamicRequestId
|
|
4080
4197
|
});
|
|
4081
4198
|
if (data.keyShareIds.length === 0) {
|
|
4082
|
-
throw new Error(
|
|
4199
|
+
throw new Error(ERROR_NO_KEY_SHARES_BACKED_UP);
|
|
4083
4200
|
}
|
|
4084
4201
|
// For batch password updates, stage to the pending key now so that all wallets'
|
|
4085
4202
|
// shares are ready to promote atomically when the last one activates.
|
|
@@ -4224,18 +4341,20 @@ class DynamicWalletClient {
|
|
|
4224
4341
|
const dynamicRequestId = v4();
|
|
4225
4342
|
// Get wallet data early for logging context (also used in catch block)
|
|
4226
4343
|
const walletData = this.getWalletFromMap(accountAddress);
|
|
4227
|
-
// Common context for all logs in this method
|
|
4344
|
+
// Common context for all logs in this method. hasPassword and
|
|
4345
|
+
// passwordUpdateBatchId are propagated to every subordinate log line so
|
|
4346
|
+
// the password-encrypted backups dashboard can filter on @hasPassword:true.
|
|
4228
4347
|
const logContext = {
|
|
4229
4348
|
accountAddress,
|
|
4230
4349
|
dynamicRequestId,
|
|
4231
4350
|
walletId: walletData == null ? void 0 : walletData.walletId,
|
|
4232
4351
|
userId: this.userId,
|
|
4233
|
-
environmentId: this.environmentId
|
|
4352
|
+
environmentId: this.environmentId,
|
|
4353
|
+
hasPassword: !!password,
|
|
4354
|
+
passwordUpdateBatchId
|
|
4234
4355
|
};
|
|
4235
4356
|
this.logger.info('[backupSharesWithDistribution] Starting backup', _extends({}, logContext, {
|
|
4236
|
-
hasPassword: !!password,
|
|
4237
4357
|
preserveDelegatedLocation,
|
|
4238
|
-
passwordUpdateBatchId,
|
|
4239
4358
|
dynamicShareCount: distribution.clientShares.length,
|
|
4240
4359
|
cloudProviders: Object.keys(distribution.cloudProviderShares),
|
|
4241
4360
|
hasDelegatedShare: !!distribution.delegatedShare
|
|
@@ -4316,7 +4435,8 @@ class DynamicWalletClient {
|
|
|
4316
4435
|
});
|
|
4317
4436
|
return true;
|
|
4318
4437
|
}
|
|
4319
|
-
|
|
4438
|
+
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
4439
|
+
return status === undefined || status === 429 || status >= 500;
|
|
4320
4440
|
}
|
|
4321
4441
|
}));
|
|
4322
4442
|
}
|
|
@@ -4376,7 +4496,8 @@ class DynamicWalletClient {
|
|
|
4376
4496
|
operationName: BACKUP_OPERATION.MarkBackedUp,
|
|
4377
4497
|
shouldRetry: (error)=>{
|
|
4378
4498
|
const status = getHttpStatus(error);
|
|
4379
|
-
|
|
4499
|
+
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
4500
|
+
return status === undefined || status === 429 || status >= 500;
|
|
4380
4501
|
}
|
|
4381
4502
|
});
|
|
4382
4503
|
// For password update pending responses, skip walletMap update — shares aren't active yet
|
|
@@ -4420,12 +4541,20 @@ class DynamicWalletClient {
|
|
|
4420
4541
|
}));
|
|
4421
4542
|
return backupData;
|
|
4422
4543
|
} catch (error) {
|
|
4544
|
+
const errorReason = classifyPasswordBackupError(error);
|
|
4545
|
+
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
4546
|
+
logFn.call(this.logger, '[backupSharesWithDistribution] failed', _extends({}, logContext, {
|
|
4547
|
+
chainName: walletData == null ? void 0 : walletData.chainName,
|
|
4548
|
+
errorReason,
|
|
4549
|
+
errorName: error instanceof Error ? error.name : undefined,
|
|
4550
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
4551
|
+
errorStack: error instanceof Error ? error.stack : undefined
|
|
4552
|
+
}));
|
|
4423
4553
|
logError({
|
|
4424
4554
|
message: 'Error in backupSharesWithDistribution',
|
|
4425
4555
|
error: error,
|
|
4426
4556
|
context: _extends({}, logContext, {
|
|
4427
|
-
chainName: walletData == null ? void 0 : walletData.chainName
|
|
4428
|
-
errorStack: error instanceof Error ? error.stack : undefined
|
|
4557
|
+
chainName: walletData == null ? void 0 : walletData.chainName
|
|
4429
4558
|
})
|
|
4430
4559
|
});
|
|
4431
4560
|
throw error;
|
|
@@ -4629,6 +4758,28 @@ class DynamicWalletClient {
|
|
|
4629
4758
|
keygenIds: (_backupData_locationsWithKeyShares_map1 = (_backupData_locationsWithKeyShares1 = backupData.locationsWithKeyShares) == null ? void 0 : _backupData_locationsWithKeyShares1.map((ks)=>ks.keygenId)) != null ? _backupData_locationsWithKeyShares_map1 : []
|
|
4630
4759
|
});
|
|
4631
4760
|
}
|
|
4761
|
+
logPasswordOperationSuccess(passwordOperation, context) {
|
|
4762
|
+
this.logger.info(`[${passwordOperation}] succeeded`, _extends({}, context, {
|
|
4763
|
+
passwordOperation,
|
|
4764
|
+
environmentId: this.environmentId,
|
|
4765
|
+
userId: this.userId
|
|
4766
|
+
}));
|
|
4767
|
+
}
|
|
4768
|
+
// User-actionable failures (wrong_password) route to warn/status:warning so
|
|
4769
|
+
// they don't count against the dashboard's System-side Success Rate metric.
|
|
4770
|
+
logPasswordOperationFailure(passwordOperation, error, context) {
|
|
4771
|
+
const errorReason = classifyPasswordBackupError(error);
|
|
4772
|
+
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
4773
|
+
logFn.call(this.logger, `[${passwordOperation}] failed`, _extends({}, context, {
|
|
4774
|
+
passwordOperation,
|
|
4775
|
+
errorReason,
|
|
4776
|
+
environmentId: this.environmentId,
|
|
4777
|
+
userId: this.userId,
|
|
4778
|
+
errorName: error instanceof Error ? error.name : undefined,
|
|
4779
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
4780
|
+
errorStack: error instanceof Error ? error.stack : undefined
|
|
4781
|
+
}));
|
|
4782
|
+
}
|
|
4632
4783
|
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, passwordUpdateBatchId }) {
|
|
4633
4784
|
const dynamicRequestId = v4();
|
|
4634
4785
|
try {
|
|
@@ -4650,6 +4801,11 @@ class DynamicWalletClient {
|
|
|
4650
4801
|
signedSessionId,
|
|
4651
4802
|
passwordUpdateBatchId
|
|
4652
4803
|
});
|
|
4804
|
+
this.logPasswordOperationSuccess('updatePassword', {
|
|
4805
|
+
accountAddress,
|
|
4806
|
+
walletId: wallet == null ? void 0 : wallet.walletId,
|
|
4807
|
+
passwordUpdateBatchId
|
|
4808
|
+
});
|
|
4653
4809
|
} catch (error) {
|
|
4654
4810
|
var _this_storage_removeItem, _this_storage;
|
|
4655
4811
|
// The pending encrypted-shares cache entry may have been written before the failure.
|
|
@@ -4657,6 +4813,10 @@ class DynamicWalletClient {
|
|
|
4657
4813
|
await ((_this_storage = this.storage) == null ? void 0 : (_this_storage_removeItem = _this_storage.removeItem(`${normalizeAddress(accountAddress)}${ENCRYPTED_SHARES_PENDING_SUFFIX}`)) == null ? void 0 : _this_storage_removeItem.catch(()=>{
|
|
4658
4814
|
// Ignore — don't mask the original error
|
|
4659
4815
|
}));
|
|
4816
|
+
this.logPasswordOperationFailure('updatePassword', error, {
|
|
4817
|
+
accountAddress,
|
|
4818
|
+
passwordUpdateBatchId
|
|
4819
|
+
});
|
|
4660
4820
|
logError({
|
|
4661
4821
|
message: 'Error in updatePassword',
|
|
4662
4822
|
error: error,
|
|
@@ -4681,6 +4841,11 @@ class DynamicWalletClient {
|
|
|
4681
4841
|
signedSessionId,
|
|
4682
4842
|
passwordUpdateBatchId
|
|
4683
4843
|
});
|
|
4844
|
+
this.logPasswordOperationSuccess('setPassword', {
|
|
4845
|
+
accountAddress,
|
|
4846
|
+
walletId: wallet == null ? void 0 : wallet.walletId,
|
|
4847
|
+
passwordUpdateBatchId
|
|
4848
|
+
});
|
|
4684
4849
|
} catch (error) {
|
|
4685
4850
|
var _this_storage_removeItem, _this_storage;
|
|
4686
4851
|
// A pending cache entry may have been written if passwordUpdateBatchId was set.
|
|
@@ -4688,6 +4853,10 @@ class DynamicWalletClient {
|
|
|
4688
4853
|
await ((_this_storage = this.storage) == null ? void 0 : (_this_storage_removeItem = _this_storage.removeItem(`${normalizeAddress(accountAddress)}${ENCRYPTED_SHARES_PENDING_SUFFIX}`)) == null ? void 0 : _this_storage_removeItem.catch(()=>{
|
|
4689
4854
|
// Ignore — don't mask the original error
|
|
4690
4855
|
}));
|
|
4856
|
+
this.logPasswordOperationFailure('setPassword', error, {
|
|
4857
|
+
accountAddress,
|
|
4858
|
+
passwordUpdateBatchId
|
|
4859
|
+
});
|
|
4691
4860
|
logError({
|
|
4692
4861
|
message: 'Error in setPassword',
|
|
4693
4862
|
error: error,
|
|
@@ -5806,6 +5975,7 @@ class DynamicWalletClient {
|
|
|
5806
5975
|
*/ async unlockWallet({ accountAddress, password, signedSessionId, mfaToken }) {
|
|
5807
5976
|
const dynamicRequestId = v4();
|
|
5808
5977
|
try {
|
|
5978
|
+
var _this_getWalletFromMap;
|
|
5809
5979
|
await this.requireWalletFromMap(accountAddress, signedSessionId);
|
|
5810
5980
|
const walletInMap = this.getWalletFromMap(accountAddress);
|
|
5811
5981
|
if ((walletInMap == null ? void 0 : walletInMap.walletReadyState) === WalletReadyState.READY) {
|
|
@@ -5885,11 +6055,19 @@ class DynamicWalletClient {
|
|
|
5885
6055
|
}
|
|
5886
6056
|
}
|
|
5887
6057
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
5888
|
-
|
|
5889
|
-
|
|
6058
|
+
const additionalWalletsFailed = results.filter((r)=>r.status === 'rejected').length;
|
|
6059
|
+
const additionalWalletsUnlocked = results.length - additionalWalletsFailed;
|
|
6060
|
+
this.logPasswordOperationSuccess('unlockWallet', {
|
|
6061
|
+
accountAddress,
|
|
6062
|
+
walletId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.walletId,
|
|
6063
|
+
additionalWalletsUnlocked,
|
|
6064
|
+
additionalWalletsFailed
|
|
5890
6065
|
});
|
|
5891
6066
|
return this.getWalletFromMap(accountAddress);
|
|
5892
6067
|
} catch (error) {
|
|
6068
|
+
this.logPasswordOperationFailure('unlockWallet', error, {
|
|
6069
|
+
accountAddress
|
|
6070
|
+
});
|
|
5893
6071
|
logError({
|
|
5894
6072
|
message: 'Error in unlockWallet',
|
|
5895
6073
|
error: error,
|
|
@@ -6253,4 +6431,4 @@ DynamicWalletClient.rooms = {};
|
|
|
6253
6431
|
DynamicWalletClient.roomsInitializing = {};
|
|
6254
6432
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
6255
6433
|
|
|
6256
|
-
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_PASSCODE_REQUIRED, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getDelegatedShareSet, getGoogleOAuthAccountId, getHttpStatus, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
|
6434
|
+
export { BACKUP_FILENAME, CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX, DynamicWalletClient, ENVIRONMENT_SETTINGS_STORAGE_KEY, ERROR_ACCOUNT_ADDRESS_REQUIRED, ERROR_CREATE_WALLET_ACCOUNT, ERROR_EXPORT_PRIVATE_KEY, ERROR_IMPORT_PRIVATE_KEY, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_NO_KEY_SHARES_BACKED_UP, ERROR_PASSCODE_REQUIRED, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED_FOR_ENCRYPTED_WALLET, ERROR_PUBLIC_KEY_MISMATCH, ERROR_REFRESH_NOT_SUPPORTED_FOR_TWO_OF_THREE, ERROR_SIGN_MESSAGE, ERROR_SIGN_TYPED_DATA, ERROR_VERIFY_MESSAGE_SIGNATURE, ERROR_VERIFY_TRANSACTION_SIGNATURE, HEAVY_QUEUE_OPERATIONS, RECOVER_QUEUE_OPERATIONS, ROOM_CACHE_COUNT, ROOM_EXPIRATION_TIME, SIGNED_SESSION_ID_MIN_VERSION, SIGNED_SESSION_ID_MIN_VERSION_BY_NAMESPACE, SIGN_QUEUE_OPERATIONS, STORAGE_KEY, StaleLocalSharesError, WalletBusyError, WalletNotReadyError, cancelICloudAuth, createAddCloudProviderToExistingDelegationDistribution, createBackupData, createCloudProviderDistribution, createDelegationOnlyDistribution, createDelegationWithCloudProviderDistribution, createDynamicOnlyDistribution, deleteICloudBackup, downloadStringAsFile, extractPubkey, formatEvmMessage, formatMessage, getActiveCloudProviders, getBitcoinAddressTypeFromDerivationPath, getClientKeyShareBackupInfo, getClientKeyShareExportFileName, getDelegatedShareSet, getGoogleOAuthAccountId, getHttpStatus, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.350",
|
|
4
4
|
"license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/core": "0.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "0.0.350",
|
|
8
8
|
"@dynamic-labs-wallet/forward-mpc-client": "0.9.0",
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "0.0.
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "0.0.350",
|
|
10
10
|
"@dynamic-labs/sdk-api-core": "^0.0.964",
|
|
11
11
|
"argon2id": "1.0.1",
|
|
12
12
|
"axios": "1.15.2",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The three user-facing password operations whose health is tracked
|
|
3
|
+
* on the WaaS password-encrypted backups dashboard.
|
|
4
|
+
*/
|
|
5
|
+
export type PasswordOperation = 'setPassword' | 'updatePassword' | 'unlockWallet';
|
|
6
|
+
/**
|
|
7
|
+
* Stable, structured classification for failures in the password-encrypted
|
|
8
|
+
* backup / unlock flow. Surfaced as `@errorReason` on the dashboard so panels
|
|
9
|
+
* can branch on a fixed enum instead of substring-matching error messages.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors the convention established by GoogleDriveBackupErrorReason
|
|
12
|
+
* (backup/providers/googleDrive.ts) — see PR #958.
|
|
13
|
+
*/
|
|
14
|
+
export type PasswordBackupErrorReason = 'wrong_password' | 'stale_local_shares' | 'encryption_failure' | 'decryption_failure' | 'upload_failure' | 'activation_failure' | 'network' | 'unknown';
|
|
15
|
+
/**
|
|
16
|
+
* Failures classified as user-actionable are caused by end-user input or
|
|
17
|
+
* local state and are not actionable by oncall. They are emitted at log
|
|
18
|
+
* level `warn` (status:warning) so the dashboard's primary health metric —
|
|
19
|
+
* System-side Success Rate (status:error denominator only) — does not count
|
|
20
|
+
* them as outages.
|
|
21
|
+
*
|
|
22
|
+
* The `satisfies` clause forces every new PasswordBackupErrorReason to
|
|
23
|
+
* declare its user-actionable bit explicitly — adding a member to the union
|
|
24
|
+
* without updating this map is a compile error.
|
|
25
|
+
*/
|
|
26
|
+
export declare const USER_ACTIONABLE_PASSWORD_BACKUP_ERROR_REASONS: {
|
|
27
|
+
readonly wrong_password: true;
|
|
28
|
+
readonly stale_local_shares: false;
|
|
29
|
+
readonly encryption_failure: false;
|
|
30
|
+
readonly decryption_failure: false;
|
|
31
|
+
readonly upload_failure: false;
|
|
32
|
+
readonly activation_failure: false;
|
|
33
|
+
readonly network: false;
|
|
34
|
+
readonly unknown: false;
|
|
35
|
+
};
|
|
36
|
+
export declare const isUserActionablePasswordBackupErrorReason: (reason: PasswordBackupErrorReason) => boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Classifies an arbitrary error thrown from the password-encrypted backup
|
|
39
|
+
* flow into one of the dashboard-tracked PasswordBackupErrorReason values.
|
|
40
|
+
*
|
|
41
|
+
* Defensive by design: unknown shapes fall through to 'unknown' rather than
|
|
42
|
+
* throwing — this helper runs inside catch blocks and must never mask the
|
|
43
|
+
* original error. Memoizes the result on the Error instance so the same
|
|
44
|
+
* thrown error is only classified once even when it bubbles through
|
|
45
|
+
* multiple catches.
|
|
46
|
+
*/
|
|
47
|
+
export declare const classifyPasswordBackupError: (error: unknown) => PasswordBackupErrorReason;
|
|
48
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/backup/password/errors.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GACjC,gBAAgB,GAChB,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6CAA6C;;;;;;;;;CASK,CAAC;AAEhE,eAAO,MAAM,yCAAyC,WAAY,yBAAyB,KAAG,OACvC,CAAC;AAsFxD;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,yBAM5D,CAAC"}
|
package/src/client.d.ts
CHANGED
|
@@ -537,6 +537,8 @@ export declare class DynamicWalletClient {
|
|
|
537
537
|
externalKeyShareId?: string;
|
|
538
538
|
}[];
|
|
539
539
|
}>;
|
|
540
|
+
private logPasswordOperationSuccess;
|
|
541
|
+
private logPasswordOperationFailure;
|
|
540
542
|
updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, passwordUpdateBatchId, }: {
|
|
541
543
|
accountAddress: string;
|
|
542
544
|
existingPassword?: string;
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,cAAc,EAGd,WAAW,EACX,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,gBAAgB,EAOhB,wBAAwB,EACxB,eAAe,EAWf,KAAK,oCAAoC,EAEzC,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAoBnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAexF,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAQL,KAAK,IAAI,EACT,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AA0BpB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,kCAAkC;IACjD,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,qBAAa,mBAAmB;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAa;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAa;IAEpD,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IACrE,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACtC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAM;IAC3D,SAAS,CAAC,OAAO,EAAG,gBAAgB,CAAC;IACrC,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAClD,SAAS,CAAC,iBAAiB,UAAS;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAM;IACzC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAM;IACpD,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACjE,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAoC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAuB;IAEtD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAwB;IAEpE;;;OAGG;YACW,sBAAsB;gBAalC,EACE,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,YAAY,EACZ,QAA0B,EAC1B,SAAqB,EACrB,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,8BAA8B,EAC9B,YAAY,EACZ,MAAM,GACP,EAAE,wBAAwB,EAC3B,eAAe,CAAC,EAAE,kCAAkC;IA0EtD;;OAEG;WACW,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIlE;;OAEG;WACW,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAI3D;;OAEG;WACW,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAInE;;;;OAIG;WACW,gBAAgB,IAAI,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIhF;;;;OAIG;cACa,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBjH;;;OAGG;IACH,SAAS,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAQpF,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACU,sBAAsB;IAInC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA8BzB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IA8CnC,UAAU,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYxE;;OAEG;cACa,WAAW,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyB7E,sBAAsB,CAAC,EAC3B,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,OAAO,EACP,kBAAkB,GACnB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;KACzE;IAqBK,sBAAsB,CAAC,EAC3B,SAAS,EACT,wBAAwB,EACxB,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAmB/B,eAAe,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IAiB7D;;;;;;;;;;;;;;OAcG;IACG,sBAAsB,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IAsEF,0EAA0E;IAC1E,OAAO,CAAC,oBAAoB;IAItB,YAAY,CAAC,EACjB,SAAS,EACT,MAAM,EACN,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;QAClD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,mBAAmB,EAAE,cAAc,EAAE,CAAC;KACvC,CAAC;IA2FI,MAAM,CAAC,IAAI,EAAE;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAaY,gBAAgB;IAwGxB,mBAAmB,CAAC,IAAI,EAAE;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACxE,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,4DAA4D;QAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;YAaY,6BAA6B;IAqJrC,UAAU,CAAC,EACf,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD,OAAO,CAAC,2BAA2B;IAsCnC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,0BAA0B;IAO5B,oBAAoB,CAAC,EACzB,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,gBAAgB,EAAE,aAAa,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAgDlC,UAAU,CAAC,EACf,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,cAAc,CAAC;QACzB,cAAc,EAAE,WAAW,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;IAkFxC;;;;;;;OAOG;YACW,0BAA0B;IAoDlC,IAAI,CAAC,EACT,cAAc,EACd,OAAO,EACP,SAAS,EACT,QAAoB,EACpB,WAAmB,EACnB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,OAAO,CAAC,EAAE,kBAAkB,CAAC;QAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC;YAmB1B,YAAY;IAsMpB,0BAA0B,CAAC,EAC/B,cAAc,EACd,SAAS,EACT,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;IAcD;;;;;;;;;OASG;IACH,OAAO,CAAC,gCAAgC;IAsDxC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;YAclB,kCAAkC;YAyIlC,mBAAmB;IAQ3B,WAAW,CAAC,EAChB,SAAS,EACT,cAAc,EACd,aAAa,GACd,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;QAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IA2BD;;;;;;;;;;;;;OAaG;IACG,eAAe,CAAC,EACpB,SAAS,EACT,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,GAC5B,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,gBAAgB,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;KACvD,GAAG,OAAO,CAAC;QACV,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;QACrD,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAC7B,uBAAuB,EAAE,MAAM,EAAE,CAAC;QAClC,uBAAuB,EAAE,cAAc,EAAE,CAAC;KAC3C,CAAC;IA+CI,OAAO,CAAC,EACZ,SAAS,EACT,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,4BAAoC,EACpC,QAAQ,EACR,mBAAmB,EACnB,gBAAwB,EACxB,sBAAsB,GACvB,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,wBAAwB,CAAC;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;YAmBa,eAAe;YA+Uf,0BAA0B;IAiElC,iBAAiB,CAAC,EACtB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAeK,gBAAgB,CAAC,EACrB,cAAc,EACd,QAAoB,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAYD,OAAO,CAAC,kBAAkB;IAgBpB,SAAS,CAAC,EACd,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAoB,EACpB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,YAAY,GACb,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;;;cA8Ee,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;cAsBrE,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,qBAAqB,EAAE,cAAc,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM;cA0BH,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB;IAgBzG,gBAAgB,CAAC,EACrB,SAAS,EACT,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,cAAc,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC;QACV,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;KAChE,CAAC;IAuDI,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAW7F;;OAEG;YACW,kCAAkC;IAsChD;;;OAGG;IACG,6BAA6B,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC9G;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,wBAAwB,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAoB,GACrB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC3C,GAAG,IAAI;IAwBR;;;OAGG;IACH;;OAEG;IACH,OAAO,CAAC,mBAAmB;YAgBb,gCAAgC;IAe9C;;;;;;;OAOG;IACG,2BAA2B,CAAC,EAChC,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjB;;;;;;;OAOG;YACW,iBAAiB;YAYjB,sBAAsB;YAuEtB,0BAA0B;IAqCxC;;;;;;;OAOG;YACW,4BAA4B;YAY5B,qBAAqB;YA4CrB,qBAAqB;IA4DnC,OAAO,CAAC,gCAAgC;IAsBlC,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,yBAAiC,EACjC,qBAAqB,EACrB,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,iBAAiB,CAAC;QAChC,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;;;;;;;;8BAh8FM,CAAC;;;YAmtGM,yBAAyB;IAiGvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAA2B,EAC3B,QAAoB,EACpB,eAAe,EACf,cAAmB,EACnB,iBAA6B,EAC7B,qBAAqB,EACrB,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;QAClC,iBAAiB,CAAC,EAAE,cAAc,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC;;;;;;;;;;8BAr2GM,CAAC;;;IAg8GF,cAAc,CAAC,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IAuCK,WAAW,CAAC,EAChB,cAAc,EACd,WAAW,EACX,eAAe,EACf,qBAAqB,GACtB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC;IA+BK,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAW/G;;;;;;;OAOG;IACH;;;;OAIG;YACW,sCAAsC;IA6DpD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;cAMd,uCAAuC,CAAC,EACtD,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCjB;;;;OAIG;cACa,iCAAiC,CAAC,EAChD,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BjB;;;;;OAKG;YACW,8BAA8B;YAmC9B,2BAA2B;IAKzC;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EACd,wBAAwB,EACxB,wBAAwB,EACxB,eAAe,EACf,UAAsB,GACvB,EAAE;QACD,wBAAwB,EAAE,kBAAkB,CAAC;QAC7C,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,eAAe,EAAE,eAAe,CAAC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG;QACF,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC;KAC5B;IA2CK,8BAA8B,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,eAAe,EACf,UAAsB,EACtB,oBAA2B,EAC3B,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,eAAe,CAAC;QACjC,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YAcf,sCAAsC;IAyF9C,cAAc;IAmCpB;;;;OAIG;YACW,8BAA8B;IA0D5C;;;;;;;;;;;OAWG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjB;;;;;;;;OAQG;YACW,0BAA0B;IAyCxC;;;;;;;;;OASG;IACG,uBAAuB,CAAC,EAC5B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IASjB;;;;;;;OAOG;YACW,qBAAqB;IA8BnC;;;;;;;;;;;;OAYG;YACW,4BAA4B;IAsD1C;;;;;;OAMG;YACW,uBAAuB;IAkC/B,oCAAoC,CAAC,EACzC,cAAc,EACd,QAAQ,EACR,eAAe,EACf,sBAAsB,GACvB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGX,qBAAqB,CAAC,EAC1B,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAmCK,kBAAkB,CAAC,EACvB,cAAc,EACd,QAAQ,EACR,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAYD;;;;;OAKG;YACW,iBAAiB;IAsD/B;;;;OAIG;IACG,cAAc,CAAC,EACnB,cAAc,EACd,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB;IAwBK,mBAAmB,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;OAEG;IACG,4BAA4B,CAAC,EACjC,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpB;;OAEG;IACG,uCAAuC,CAAC,EAC5C,cAAc,EACd,eAAiD,GAClD,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC,GAAG,OAAO,CAAC,OAAO,CAAC;YAsBN,+BAA+B;IASvC,iCAAiC,CAAC,EAAE,cAAc,EAAE,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAwBtG,0BAA0B;IAYlC,SAAS,CAAC,EACd,cAAc,EACd,eAA8C,EAC9C,UAAsB,EACtB,QAAoB,EACpB,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoL7B;;;;;;;;;;;;;;;OAeG;IACG,sBAAsB,CAAC,EAC3B,cAAc,EACd,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA4ChC;;;;;OAKG;YACW,4BAA4B;IAgD1C;;;;;;;;OAQG;IACG,YAAY,CAAC,EACjB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,QAAQ,GACT,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0H7B;;OAEG;YACW,2BAA2B;IA8BnC,aAAa,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI7C,UAAU;IAoFhB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM;IAQzB,WAAW,CAAC,EAChB,QAAQ,EACR,wBAAwB,EACxB,SAAa,GACd,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC;QACvB,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAyDK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAiC/C,QAAQ,CACZ,QAAQ,CAAC,EAAE,YAAY,EACvB,wBAAwB,CAAC,EAAE,wBAAwB,GAClD,OAAO,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAQrC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;IAKrD;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,MAAM;IAKhG,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IA0DpH,eAAe,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAQ3F"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
package/src/errorConstants.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const ERROR_NO_KEY_SHARES_BACKED_UP = "No key shares were backed up to Dynamic backend";
|
|
1
2
|
export declare const ERROR_KEYGEN_FAILED = "[DynamicWaasWalletClient]: Error with keygen";
|
|
2
3
|
export declare const ERROR_CREATE_WALLET_ACCOUNT = "[DynamicWaasWalletClient]: Error creating wallet account";
|
|
3
4
|
export declare const ERROR_SIGN_MESSAGE = "[DynamicWaasWalletClient]: Error signing message";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorConstants.d.ts","sourceRoot":"","sources":["../../packages/src/errorConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF,eAAO,MAAM,2BAA2B,6DAA6D,CAAC;AAEtG,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AAErF,eAAO,MAAM,qBAAqB,wDAAwD,CAAC;AAE3F,eAAO,MAAM,8BAA8B,2DAA2D,CAAC;AAEvG,eAAO,MAAM,8BAA8B,iEAAiE,CAAC;AAE7G,eAAO,MAAM,kCAAkC,qEAAqE,CAAC;AAErH,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,yBAAyB,yEAAyE,CAAC;AAEhH,eAAO,MAAM,uBAAuB,uGACkE,CAAC;AAEvG,eAAO,MAAM,4CAA4C,2GACiD,CAAC;AAK3G,eAAO,MAAM,gCAAgC,2CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"errorConstants.d.ts","sourceRoot":"","sources":["../../packages/src/errorConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,oDAAoD,CAAC;AAE/F,eAAO,MAAM,mBAAmB,iDAAiD,CAAC;AAElF,eAAO,MAAM,2BAA2B,6DAA6D,CAAC;AAEtG,eAAO,MAAM,kBAAkB,qDAAqD,CAAC;AAErF,eAAO,MAAM,qBAAqB,wDAAwD,CAAC;AAE3F,eAAO,MAAM,8BAA8B,2DAA2D,CAAC;AAEvG,eAAO,MAAM,8BAA8B,iEAAiE,CAAC;AAE7G,eAAO,MAAM,kCAAkC,qEAAqE,CAAC;AAErH,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,wBAAwB,2DAA2D,CAAC;AAEjG,eAAO,MAAM,yBAAyB,yEAAyE,CAAC;AAEhH,eAAO,MAAM,uBAAuB,uGACkE,CAAC;AAEvG,eAAO,MAAM,4CAA4C,2GACiD,CAAC;AAK3G,eAAO,MAAM,gCAAgC,2CAA2C,CAAC"}
|