@dynamic-labs-wallet/browser 1.0.8 → 1.0.10
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 +148 -36
- package/index.esm.js +149 -37
- package/package.json +3 -3
- package/src/backup/encryption/core.d.ts +16 -8
- package/src/backup/encryption/core.d.ts.map +1 -1
- package/src/client.d.ts +14 -1
- package/src/client.d.ts.map +1 -1
- package/src/errors.d.ts +23 -0
- package/src/errors.d.ts.map +1 -0
- package/src/services/logger.d.ts +9 -1
- package/src/services/logger.d.ts.map +1 -1
- package/src/utils.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -231,14 +231,10 @@ class InvalidPasswordError extends Error {
|
|
|
231
231
|
}
|
|
232
232
|
const KEY_SHARE_DECRYPTION_ERROR = 'Decryption failed.';
|
|
233
233
|
/**
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
* Internal-only signal: the user-facing message is deliberately generic so it
|
|
239
|
-
* does not leak implementation detail (e.g. environmentId fallback,
|
|
240
|
-
* cross-environment cipher, KDF/version mismatch). The `name` and any attached
|
|
241
|
-
* `cause` carry the real diagnostic for logs / monitoring.
|
|
234
|
+
* Decryption failure with no user-supplied password involved (distinct from
|
|
235
|
+
* InvalidPasswordError, which is reserved for password-encrypted wallets).
|
|
236
|
+
* The message is deliberately generic; `name`, `cause`, and `context` carry
|
|
237
|
+
* the diagnostic.
|
|
242
238
|
*/ class KeyShareDecryptionError extends Error {
|
|
243
239
|
constructor(options){
|
|
244
240
|
super(KEY_SHARE_DECRYPTION_ERROR);
|
|
@@ -246,6 +242,9 @@ const KEY_SHARE_DECRYPTION_ERROR = 'Decryption failed.';
|
|
|
246
242
|
if ((options == null ? void 0 : options.cause) !== undefined) {
|
|
247
243
|
this.cause = options.cause;
|
|
248
244
|
}
|
|
245
|
+
if ((options == null ? void 0 : options.context) !== undefined) {
|
|
246
|
+
this.context = options.context;
|
|
247
|
+
}
|
|
249
248
|
}
|
|
250
249
|
}
|
|
251
250
|
/**
|
|
@@ -384,6 +383,33 @@ class StaleLocalSharesError extends Error {
|
|
|
384
383
|
}
|
|
385
384
|
}
|
|
386
385
|
|
|
386
|
+
class InvalidEnvironmentIdError extends Error {
|
|
387
|
+
constructor(environmentId){
|
|
388
|
+
super(`[DynamicWaasWalletClient]: invalid environmentId: "${environmentId}".`);
|
|
389
|
+
this.name = 'InvalidEnvironmentIdError';
|
|
390
|
+
this.environmentId = environmentId;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
class EnvironmentIdMismatchError extends Error {
|
|
394
|
+
constructor(args){
|
|
395
|
+
super(`[DynamicWaasWalletClient]: environmentId mismatch (expected "${args.expected}", got "${args.actual}").`);
|
|
396
|
+
this.name = 'EnvironmentIdMismatchError';
|
|
397
|
+
this.expected = args.expected;
|
|
398
|
+
this.actual = args.actual;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
class EncryptionSelfTestFailedError extends Error {
|
|
402
|
+
constructor(args){
|
|
403
|
+
super(`[DynamicWaasWalletClient]: backup aborted.`);
|
|
404
|
+
this.name = 'EncryptionSelfTestFailedError';
|
|
405
|
+
this.walletId = args.walletId;
|
|
406
|
+
this.accountAddress = args.accountAddress;
|
|
407
|
+
if (args.cause !== undefined) {
|
|
408
|
+
this.cause = args.cause;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
387
413
|
const ERROR_NO_KEY_SHARES_BACKED_UP = 'No key shares were backed up to Dynamic backend';
|
|
388
414
|
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
389
415
|
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
@@ -1081,6 +1107,9 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
|
|
|
1081
1107
|
if (isPasswordMismatchError(error)) return true;
|
|
1082
1108
|
if (error instanceof InvalidPasswordError) return true;
|
|
1083
1109
|
if (error instanceof KeyShareDecryptionError) return true;
|
|
1110
|
+
if (error instanceof InvalidEnvironmentIdError) return true;
|
|
1111
|
+
if (error instanceof EnvironmentIdMismatchError) return true;
|
|
1112
|
+
if (error instanceof EncryptionSelfTestFailedError) return true;
|
|
1084
1113
|
const message = error instanceof Error ? error.message : '';
|
|
1085
1114
|
if (!message) return false;
|
|
1086
1115
|
return NON_RETRYABLE_CEREMONY_ERROR_MESSAGES.some((msg)=>message.includes(msg));
|
|
@@ -1730,13 +1759,13 @@ const initializeCloudKit = async (config, signInButtonId, onSignInRequired, onSi
|
|
|
1730
1759
|
* (e.g. wrong password). These are logged at `info` instead of `error`
|
|
1731
1760
|
* so they don't pollute error dashboards with user mistakes.
|
|
1732
1761
|
*/ const isExpectedUserError = (error)=>error instanceof InvalidPasswordError;
|
|
1733
|
-
const logError = ({ message, error, context })=>{
|
|
1762
|
+
const logError = ({ message, error, context, level = 'error' })=>{
|
|
1734
1763
|
if (error instanceof axios.AxiosError) {
|
|
1735
1764
|
core.handleAxiosError(error, message, context);
|
|
1736
1765
|
return;
|
|
1737
1766
|
}
|
|
1738
|
-
const
|
|
1739
|
-
core.Logger[
|
|
1767
|
+
const resolvedLevel = isExpectedUserError(error) ? 'info' : level;
|
|
1768
|
+
core.Logger[resolvedLevel]('[DynamicWaasWalletClient] Error in browser client', {
|
|
1740
1769
|
message,
|
|
1741
1770
|
error: error instanceof Error ? {
|
|
1742
1771
|
name: error.name,
|
|
@@ -2415,11 +2444,25 @@ class DynamicWalletClient {
|
|
|
2415
2444
|
return WalletQueueManager.isRecoveryInProgress(accountAddress);
|
|
2416
2445
|
}
|
|
2417
2446
|
/**
|
|
2447
|
+
* Clear the in-memory MPC room pool.
|
|
2448
|
+
*
|
|
2449
|
+
* Rooms are cached in process-global static state and are pre-created without
|
|
2450
|
+
* being bound to a wallet or user. They must be cleared whenever iframe
|
|
2451
|
+
* storage is cleared on a user switch, otherwise a room created during one
|
|
2452
|
+
* user's session can be reused in another user's signing ceremony, pairing a
|
|
2453
|
+
* shared server key share with the wrong client key share.
|
|
2454
|
+
*/ static clearRoomPool() {
|
|
2455
|
+
DynamicWalletClient.rooms = {};
|
|
2456
|
+
DynamicWalletClient.roomsInitializing = {};
|
|
2457
|
+
DynamicWalletClient.roomsGeneration += 1;
|
|
2458
|
+
}
|
|
2459
|
+
/**
|
|
2418
2460
|
* Reset static state for testing purposes.
|
|
2419
|
-
* This clears all wallet queues
|
|
2461
|
+
* This clears all wallet queues, in-flight recovery tracking, and the room pool.
|
|
2420
2462
|
* @internal For testing only
|
|
2421
2463
|
*/ static resetStaticState() {
|
|
2422
2464
|
WalletQueueManager.resetForTesting();
|
|
2465
|
+
DynamicWalletClient.clearRoomPool();
|
|
2423
2466
|
}
|
|
2424
2467
|
/**
|
|
2425
2468
|
* Get wallet properties from the wallet map using normalized address.
|
|
@@ -2848,9 +2891,15 @@ class DynamicWalletClient {
|
|
|
2848
2891
|
};
|
|
2849
2892
|
} catch (error) {
|
|
2850
2893
|
markCeremonyErrorNonRetryable(error);
|
|
2894
|
+
// "Multiple wallets per chain not allowed" is an expected business-rule
|
|
2895
|
+
// rejection (the user already has a wallet for this chain), not a system
|
|
2896
|
+
// failure — log it at warn so it doesn't flood error dashboards. All
|
|
2897
|
+
// other keygen failures stay at error.
|
|
2898
|
+
const isExpectedRejection = error instanceof Error && error.message === ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
2851
2899
|
logError({
|
|
2852
2900
|
message: 'Error in keyGen',
|
|
2853
2901
|
error: error,
|
|
2902
|
+
level: isExpectedRejection ? 'warn' : 'error',
|
|
2854
2903
|
context: _extends({
|
|
2855
2904
|
chainName,
|
|
2856
2905
|
thresholdSignatureScheme,
|
|
@@ -4577,6 +4626,24 @@ class DynamicWalletClient {
|
|
|
4577
4626
|
throw error;
|
|
4578
4627
|
}
|
|
4579
4628
|
}
|
|
4629
|
+
// AES-GCM authenticates the ciphertext, so a wrong key fails to decrypt
|
|
4630
|
+
// rather than returning corrupted plaintext — "decrypt did not throw" is a
|
|
4631
|
+
// sufficient guarantee the cipher is recoverable.
|
|
4632
|
+
async assertEncryptionRoundTrip({ password, encrypted, walletId, accountAddress }) {
|
|
4633
|
+
if (!encrypted) return;
|
|
4634
|
+
try {
|
|
4635
|
+
await this.decryptKeyShare({
|
|
4636
|
+
keyShare: encrypted,
|
|
4637
|
+
password
|
|
4638
|
+
});
|
|
4639
|
+
} catch (error) {
|
|
4640
|
+
throw new EncryptionSelfTestFailedError({
|
|
4641
|
+
walletId,
|
|
4642
|
+
accountAddress,
|
|
4643
|
+
cause: error
|
|
4644
|
+
});
|
|
4645
|
+
}
|
|
4646
|
+
}
|
|
4580
4647
|
async encryptKeyShare({ keyShare, password }) {
|
|
4581
4648
|
const serializedKeyShare = JSON.stringify(keyShare);
|
|
4582
4649
|
const encryptedKeyShare = await encryptData({
|
|
@@ -4945,7 +5012,7 @@ class DynamicWalletClient {
|
|
|
4945
5012
|
hasDelegatedShare: !!distribution.delegatedShare
|
|
4946
5013
|
}));
|
|
4947
5014
|
try {
|
|
4948
|
-
var _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
5015
|
+
var _preEncryptedCloudShares_, _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
4949
5016
|
// `let` so the retry path can swap in a freshly-signed session via the reverse channel on 400.
|
|
4950
5017
|
let resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
|
|
4951
5018
|
const canRefreshSignedSessionId = this.getSignedSessionIdCallback !== undefined;
|
|
@@ -4988,6 +5055,15 @@ class DynamicWalletClient {
|
|
|
4988
5055
|
dynamicShareCount: preEncryptedDynamicShares.length,
|
|
4989
5056
|
cloudProviderCount: preEncryptedCloudShares.length
|
|
4990
5057
|
}));
|
|
5058
|
+
var _preEncryptedDynamicShares_;
|
|
5059
|
+
// Fail fast before any upload if the just-written cipher can't be read
|
|
5060
|
+
// back with the same key material. Runs once per backup, not per share.
|
|
5061
|
+
await this.assertEncryptionRoundTrip({
|
|
5062
|
+
password,
|
|
5063
|
+
encrypted: (_preEncryptedDynamicShares_ = preEncryptedDynamicShares[0]) != null ? _preEncryptedDynamicShares_ : (_preEncryptedCloudShares_ = preEncryptedCloudShares[0]) == null ? void 0 : _preEncryptedCloudShares_.encrypted[0],
|
|
5064
|
+
walletId: walletData.walletId,
|
|
5065
|
+
accountAddress
|
|
5066
|
+
});
|
|
4991
5067
|
// Step 1: Upload shares in parallel, each with its own retry
|
|
4992
5068
|
const uploadPromises = [];
|
|
4993
5069
|
if (distribution.clientShares.length > 0) {
|
|
@@ -5360,16 +5436,26 @@ class DynamicWalletClient {
|
|
|
5360
5436
|
keygenIds: (_backupData_locationsWithKeyShares_map1 = (_backupData_locationsWithKeyShares1 = backupData.locationsWithKeyShares) == null ? void 0 : _backupData_locationsWithKeyShares1.map((ks)=>ks.keygenId)) != null ? _backupData_locationsWithKeyShares_map1 : []
|
|
5361
5437
|
});
|
|
5362
5438
|
}
|
|
5363
|
-
//
|
|
5364
|
-
//
|
|
5365
|
-
//
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5439
|
+
// Asserts the API-returned envId matches this.environmentId. The `!= null`
|
|
5440
|
+
// (not truthy) guard treats an empty-string envId as a misconfiguration to
|
|
5441
|
+
// surface, not a missing field to skip.
|
|
5442
|
+
async getUserWithEnvCheck(dynamicRequestId) {
|
|
5443
|
+
const user = await this.apiClient.getUser(dynamicRequestId);
|
|
5444
|
+
const actual = user == null ? void 0 : user.projectEnvironmentId;
|
|
5445
|
+
if (actual != null && actual !== this.environmentId) {
|
|
5446
|
+
throw new EnvironmentIdMismatchError({
|
|
5447
|
+
expected: this.environmentId,
|
|
5448
|
+
actual
|
|
5449
|
+
});
|
|
5450
|
+
}
|
|
5451
|
+
return user;
|
|
5452
|
+
}
|
|
5453
|
+
// Emits on both branches so the monitor can distinguish user-password
|
|
5454
|
+
// operations from envId-fallback ones.
|
|
5369
5455
|
logPasswordSharePresence(password, direction) {
|
|
5370
|
-
|
|
5371
|
-
this.logger.info('[keyshare-encryption] password-encrypted share', {
|
|
5372
|
-
passwordEncrypted
|
|
5456
|
+
const passwordEncrypted = shouldValidatePassword(password, this.environmentId);
|
|
5457
|
+
this.logger.info(passwordEncrypted ? '[keyshare-encryption] password-encrypted share' : '[keyshare-encryption] envId-fallback share', {
|
|
5458
|
+
passwordEncrypted,
|
|
5373
5459
|
direction,
|
|
5374
5460
|
environmentId: this.environmentId,
|
|
5375
5461
|
userId: this.userId
|
|
@@ -5387,6 +5473,7 @@ class DynamicWalletClient {
|
|
|
5387
5473
|
logPasswordOperationFailure(passwordOperation, error, context) {
|
|
5388
5474
|
const errorReason = classifyPasswordBackupError(error);
|
|
5389
5475
|
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
5476
|
+
const errorContext = error instanceof KeyShareDecryptionError ? error.context : undefined;
|
|
5390
5477
|
logFn.call(this.logger, `[${passwordOperation}] failed`, _extends({}, context, {
|
|
5391
5478
|
passwordOperation,
|
|
5392
5479
|
errorReason,
|
|
@@ -5395,7 +5482,9 @@ class DynamicWalletClient {
|
|
|
5395
5482
|
errorName: error instanceof Error ? error.name : undefined,
|
|
5396
5483
|
errorMessage: error instanceof Error ? error.message : String(error),
|
|
5397
5484
|
errorStack: error instanceof Error ? error.stack : undefined
|
|
5398
|
-
}
|
|
5485
|
+
}, errorContext ? {
|
|
5486
|
+
errorContext
|
|
5487
|
+
} : {}));
|
|
5399
5488
|
}
|
|
5400
5489
|
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, passwordUpdateBatchId }) {
|
|
5401
5490
|
const dynamicRequestId = uuid.v4();
|
|
@@ -5504,15 +5593,16 @@ class DynamicWalletClient {
|
|
|
5504
5593
|
const deserializedKeyShare = JSON.parse(decryptedKeyShare);
|
|
5505
5594
|
return deserializedKeyShare;
|
|
5506
5595
|
} catch (error) {
|
|
5507
|
-
//
|
|
5508
|
-
//
|
|
5509
|
-
// framing doesn't apply. Re-throw as a distinct system-side error so
|
|
5510
|
-
// dashboards/logs classify it as `decryption_failure` instead of
|
|
5511
|
-
// `wrong_password`, and surface that the cause is most likely an
|
|
5512
|
-
// environment-ID mismatch (e.g. wallet encrypted in another environment).
|
|
5596
|
+
// Reclassify envId-fallback failures as system-side `decryption_failure`
|
|
5597
|
+
// so dashboards don't count them as `wrong_password`.
|
|
5513
5598
|
if (usedDefaultPassword && error instanceof InvalidPasswordError) {
|
|
5599
|
+
var _decodedKeyShare_version;
|
|
5514
5600
|
throw new KeyShareDecryptionError({
|
|
5515
|
-
cause: error
|
|
5601
|
+
cause: error,
|
|
5602
|
+
context: {
|
|
5603
|
+
environmentId: this.environmentId,
|
|
5604
|
+
kdfVersion: (_decodedKeyShare_version = decodedKeyShare == null ? void 0 : decodedKeyShare.version) != null ? _decodedKeyShare_version : 'unknown'
|
|
5605
|
+
}
|
|
5516
5606
|
});
|
|
5517
5607
|
}
|
|
5518
5608
|
throw error;
|
|
@@ -5652,7 +5742,7 @@ class DynamicWalletClient {
|
|
|
5652
5742
|
*/ async getGoogleOauthAccountIdOrThrow(accountAddress) {
|
|
5653
5743
|
const dynamicRequestId = uuid.v4();
|
|
5654
5744
|
try {
|
|
5655
|
-
const user = await this.
|
|
5745
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
5656
5746
|
const oauthAccountId = getGoogleOAuthAccountId(user == null ? void 0 : user.verifiedCredentials);
|
|
5657
5747
|
if (!oauthAccountId) {
|
|
5658
5748
|
const error = new Error('No Google OAuth account ID found');
|
|
@@ -6319,7 +6409,7 @@ class DynamicWalletClient {
|
|
|
6319
6409
|
async fetchWalletBackupInfoFromServer(accountAddress) {
|
|
6320
6410
|
var _user_verifiedCredentials;
|
|
6321
6411
|
const dynamicRequestId = uuid.v4();
|
|
6322
|
-
const user = await this.
|
|
6412
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6323
6413
|
const wallet = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.find((vc)=>{
|
|
6324
6414
|
var _vc_address;
|
|
6325
6415
|
return ((_vc_address = vc.address) == null ? void 0 : _vc_address.toLowerCase()) === accountAddress.toLowerCase();
|
|
@@ -6389,7 +6479,7 @@ class DynamicWalletClient {
|
|
|
6389
6479
|
return wallet;
|
|
6390
6480
|
}
|
|
6391
6481
|
// Fetch and restore all waas wallets from server
|
|
6392
|
-
const user = await this.
|
|
6482
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6393
6483
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
6394
6484
|
for (const vc of waasWallets != null ? waasWallets : []){
|
|
6395
6485
|
const addr = vc.address;
|
|
@@ -6765,7 +6855,7 @@ class DynamicWalletClient {
|
|
|
6765
6855
|
previousWalletMap
|
|
6766
6856
|
}
|
|
6767
6857
|
});
|
|
6768
|
-
const user = await this.
|
|
6858
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6769
6859
|
this.userId = user.id;
|
|
6770
6860
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
6771
6861
|
const wallets = waasWallets.map((vc)=>{
|
|
@@ -6843,6 +6933,7 @@ class DynamicWalletClient {
|
|
|
6843
6933
|
}
|
|
6844
6934
|
async createRooms({ roomType, thresholdSignatureScheme, roomCount = 5 }) {
|
|
6845
6935
|
const numberOfParties = this.getNumberOfParties(roomType, thresholdSignatureScheme);
|
|
6936
|
+
const generation = DynamicWalletClient.roomsGeneration;
|
|
6846
6937
|
try {
|
|
6847
6938
|
var _rooms_roomIds;
|
|
6848
6939
|
if (DynamicWalletClient.roomsInitializing[numberOfParties]) {
|
|
@@ -6872,6 +6963,12 @@ class DynamicWalletClient {
|
|
|
6872
6963
|
// The API call itself stays outside the lock — we must not hold a
|
|
6873
6964
|
// cross-tab lock over a network round-trip.
|
|
6874
6965
|
const merge = async ()=>{
|
|
6966
|
+
// If the room pool was cleared (user switch) while our API request was
|
|
6967
|
+
// in-flight, these rooms belong to the previous user. Dropping them here
|
|
6968
|
+
// prevents resurrecting them into the new user's storage.
|
|
6969
|
+
if (DynamicWalletClient.roomsGeneration !== generation) {
|
|
6970
|
+
return;
|
|
6971
|
+
}
|
|
6875
6972
|
// Re-read from storage under the lock so we don't clobber rooms another
|
|
6876
6973
|
// tab just wrote, and so we don't lose rooms consumed by getRoom() calls
|
|
6877
6974
|
// that ran while our API request was in-flight.
|
|
@@ -6891,8 +6988,16 @@ class DynamicWalletClient {
|
|
|
6891
6988
|
DynamicWalletClient.roomsInitializing[numberOfParties] = false;
|
|
6892
6989
|
} catch (error) {
|
|
6893
6990
|
DynamicWalletClient.roomsInitializing[numberOfParties] = false;
|
|
6894
|
-
|
|
6895
|
-
|
|
6991
|
+
// Route through the shared logError helper so HTTP errors get consistent
|
|
6992
|
+
// handling — notably a 429 (rate limit) is logged at warn, not error.
|
|
6993
|
+
logError({
|
|
6994
|
+
message: 'Error creating rooms',
|
|
6995
|
+
error: error,
|
|
6996
|
+
context: {
|
|
6997
|
+
roomType,
|
|
6998
|
+
thresholdSignatureScheme,
|
|
6999
|
+
numberOfParties
|
|
7000
|
+
}
|
|
6896
7001
|
});
|
|
6897
7002
|
throw error;
|
|
6898
7003
|
}
|
|
@@ -7017,6 +7122,9 @@ class DynamicWalletClient {
|
|
|
7017
7122
|
this.featureFlags = {};
|
|
7018
7123
|
this.logger = logger != null ? logger : new core.NoopLogger();
|
|
7019
7124
|
core.Logger.configure(this.logger);
|
|
7125
|
+
if (!uuid.validate(environmentId)) {
|
|
7126
|
+
throw new InvalidEnvironmentIdError(environmentId);
|
|
7127
|
+
}
|
|
7020
7128
|
this.environmentId = environmentId;
|
|
7021
7129
|
this.storageKey = `${STORAGE_KEY}-${storageKey != null ? storageKey : environmentId}`;
|
|
7022
7130
|
this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
|
|
@@ -7077,6 +7185,10 @@ class DynamicWalletClient {
|
|
|
7077
7185
|
DynamicWalletClient.rooms = {};
|
|
7078
7186
|
DynamicWalletClient.roomsInitializing = {};
|
|
7079
7187
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
7188
|
+
// Bumped by clearRoomPool() so an in-flight createRooms() that started before
|
|
7189
|
+
// a user switch can detect the clear and refuse to write the previous user's
|
|
7190
|
+
// rooms back into the new user's storage (TOCTOU on the create→merge gap).
|
|
7191
|
+
DynamicWalletClient.roomsGeneration = 0;
|
|
7080
7192
|
|
|
7081
7193
|
Object.defineProperty(exports, "Logger", {
|
|
7082
7194
|
enumerable: true,
|
package/index.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ export { Logger } from '@dynamic-labs-wallet/core';
|
|
|
4
4
|
import { EdBls12377, BIP340, ExportableEd25519, Ecdsa, MessageHash, EcdsaSignature, EcdsaKeygenResult, ExportableEd25519KeygenResult, BIP340KeygenResult } from '#internal/web';
|
|
5
5
|
export { BIP340, BIP340InitKeygenResult, BIP340KeygenResult, Ecdsa, EcdsaInitKeygenResult, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, Ed25519, Ed25519InitKeygenResult, Ed25519KeygenResult, EdBls12377, EdBls12377KeygenResult, MessageHash } from '#internal/web';
|
|
6
6
|
import { gte } from 'semver';
|
|
7
|
-
import { v4 } from 'uuid';
|
|
7
|
+
import { v4, validate } from 'uuid';
|
|
8
8
|
import { SigningAlgorithm } from '@dynamic-labs-wallet/primitives';
|
|
9
9
|
import { ProviderEnum, RoomTypeEnum } from '@dynamic-labs/sdk-api-core';
|
|
10
10
|
import loadArgon2idWasm from 'argon2id';
|
|
@@ -232,14 +232,10 @@ class InvalidPasswordError extends Error {
|
|
|
232
232
|
}
|
|
233
233
|
const KEY_SHARE_DECRYPTION_ERROR = 'Decryption failed.';
|
|
234
234
|
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
* Internal-only signal: the user-facing message is deliberately generic so it
|
|
240
|
-
* does not leak implementation detail (e.g. environmentId fallback,
|
|
241
|
-
* cross-environment cipher, KDF/version mismatch). The `name` and any attached
|
|
242
|
-
* `cause` carry the real diagnostic for logs / monitoring.
|
|
235
|
+
* Decryption failure with no user-supplied password involved (distinct from
|
|
236
|
+
* InvalidPasswordError, which is reserved for password-encrypted wallets).
|
|
237
|
+
* The message is deliberately generic; `name`, `cause`, and `context` carry
|
|
238
|
+
* the diagnostic.
|
|
243
239
|
*/ class KeyShareDecryptionError extends Error {
|
|
244
240
|
constructor(options){
|
|
245
241
|
super(KEY_SHARE_DECRYPTION_ERROR);
|
|
@@ -247,6 +243,9 @@ const KEY_SHARE_DECRYPTION_ERROR = 'Decryption failed.';
|
|
|
247
243
|
if ((options == null ? void 0 : options.cause) !== undefined) {
|
|
248
244
|
this.cause = options.cause;
|
|
249
245
|
}
|
|
246
|
+
if ((options == null ? void 0 : options.context) !== undefined) {
|
|
247
|
+
this.context = options.context;
|
|
248
|
+
}
|
|
250
249
|
}
|
|
251
250
|
}
|
|
252
251
|
/**
|
|
@@ -385,6 +384,33 @@ class StaleLocalSharesError extends Error {
|
|
|
385
384
|
}
|
|
386
385
|
}
|
|
387
386
|
|
|
387
|
+
class InvalidEnvironmentIdError extends Error {
|
|
388
|
+
constructor(environmentId){
|
|
389
|
+
super(`[DynamicWaasWalletClient]: invalid environmentId: "${environmentId}".`);
|
|
390
|
+
this.name = 'InvalidEnvironmentIdError';
|
|
391
|
+
this.environmentId = environmentId;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
class EnvironmentIdMismatchError extends Error {
|
|
395
|
+
constructor(args){
|
|
396
|
+
super(`[DynamicWaasWalletClient]: environmentId mismatch (expected "${args.expected}", got "${args.actual}").`);
|
|
397
|
+
this.name = 'EnvironmentIdMismatchError';
|
|
398
|
+
this.expected = args.expected;
|
|
399
|
+
this.actual = args.actual;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
class EncryptionSelfTestFailedError extends Error {
|
|
403
|
+
constructor(args){
|
|
404
|
+
super(`[DynamicWaasWalletClient]: backup aborted.`);
|
|
405
|
+
this.name = 'EncryptionSelfTestFailedError';
|
|
406
|
+
this.walletId = args.walletId;
|
|
407
|
+
this.accountAddress = args.accountAddress;
|
|
408
|
+
if (args.cause !== undefined) {
|
|
409
|
+
this.cause = args.cause;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
388
414
|
const ERROR_NO_KEY_SHARES_BACKED_UP = 'No key shares were backed up to Dynamic backend';
|
|
389
415
|
const ERROR_KEYGEN_FAILED = '[DynamicWaasWalletClient]: Error with keygen';
|
|
390
416
|
const ERROR_CREATE_WALLET_ACCOUNT = '[DynamicWaasWalletClient]: Error creating wallet account';
|
|
@@ -1082,6 +1108,9 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
|
|
|
1082
1108
|
if (isPasswordMismatchError(error)) return true;
|
|
1083
1109
|
if (error instanceof InvalidPasswordError) return true;
|
|
1084
1110
|
if (error instanceof KeyShareDecryptionError) return true;
|
|
1111
|
+
if (error instanceof InvalidEnvironmentIdError) return true;
|
|
1112
|
+
if (error instanceof EnvironmentIdMismatchError) return true;
|
|
1113
|
+
if (error instanceof EncryptionSelfTestFailedError) return true;
|
|
1085
1114
|
const message = error instanceof Error ? error.message : '';
|
|
1086
1115
|
if (!message) return false;
|
|
1087
1116
|
return NON_RETRYABLE_CEREMONY_ERROR_MESSAGES.some((msg)=>message.includes(msg));
|
|
@@ -1731,13 +1760,13 @@ const initializeCloudKit = async (config, signInButtonId, onSignInRequired, onSi
|
|
|
1731
1760
|
* (e.g. wrong password). These are logged at `info` instead of `error`
|
|
1732
1761
|
* so they don't pollute error dashboards with user mistakes.
|
|
1733
1762
|
*/ const isExpectedUserError = (error)=>error instanceof InvalidPasswordError;
|
|
1734
|
-
const logError = ({ message, error, context })=>{
|
|
1763
|
+
const logError = ({ message, error, context, level = 'error' })=>{
|
|
1735
1764
|
if (error instanceof AxiosError) {
|
|
1736
1765
|
handleAxiosError(error, message, context);
|
|
1737
1766
|
return;
|
|
1738
1767
|
}
|
|
1739
|
-
const
|
|
1740
|
-
Logger[
|
|
1768
|
+
const resolvedLevel = isExpectedUserError(error) ? 'info' : level;
|
|
1769
|
+
Logger[resolvedLevel]('[DynamicWaasWalletClient] Error in browser client', {
|
|
1741
1770
|
message,
|
|
1742
1771
|
error: error instanceof Error ? {
|
|
1743
1772
|
name: error.name,
|
|
@@ -2416,11 +2445,25 @@ class DynamicWalletClient {
|
|
|
2416
2445
|
return WalletQueueManager.isRecoveryInProgress(accountAddress);
|
|
2417
2446
|
}
|
|
2418
2447
|
/**
|
|
2448
|
+
* Clear the in-memory MPC room pool.
|
|
2449
|
+
*
|
|
2450
|
+
* Rooms are cached in process-global static state and are pre-created without
|
|
2451
|
+
* being bound to a wallet or user. They must be cleared whenever iframe
|
|
2452
|
+
* storage is cleared on a user switch, otherwise a room created during one
|
|
2453
|
+
* user's session can be reused in another user's signing ceremony, pairing a
|
|
2454
|
+
* shared server key share with the wrong client key share.
|
|
2455
|
+
*/ static clearRoomPool() {
|
|
2456
|
+
DynamicWalletClient.rooms = {};
|
|
2457
|
+
DynamicWalletClient.roomsInitializing = {};
|
|
2458
|
+
DynamicWalletClient.roomsGeneration += 1;
|
|
2459
|
+
}
|
|
2460
|
+
/**
|
|
2419
2461
|
* Reset static state for testing purposes.
|
|
2420
|
-
* This clears all wallet queues
|
|
2462
|
+
* This clears all wallet queues, in-flight recovery tracking, and the room pool.
|
|
2421
2463
|
* @internal For testing only
|
|
2422
2464
|
*/ static resetStaticState() {
|
|
2423
2465
|
WalletQueueManager.resetForTesting();
|
|
2466
|
+
DynamicWalletClient.clearRoomPool();
|
|
2424
2467
|
}
|
|
2425
2468
|
/**
|
|
2426
2469
|
* Get wallet properties from the wallet map using normalized address.
|
|
@@ -2849,9 +2892,15 @@ class DynamicWalletClient {
|
|
|
2849
2892
|
};
|
|
2850
2893
|
} catch (error) {
|
|
2851
2894
|
markCeremonyErrorNonRetryable(error);
|
|
2895
|
+
// "Multiple wallets per chain not allowed" is an expected business-rule
|
|
2896
|
+
// rejection (the user already has a wallet for this chain), not a system
|
|
2897
|
+
// failure — log it at warn so it doesn't flood error dashboards. All
|
|
2898
|
+
// other keygen failures stay at error.
|
|
2899
|
+
const isExpectedRejection = error instanceof Error && error.message === ERROR_MULTIPLE_WALLETS_PER_CHAIN;
|
|
2852
2900
|
logError({
|
|
2853
2901
|
message: 'Error in keyGen',
|
|
2854
2902
|
error: error,
|
|
2903
|
+
level: isExpectedRejection ? 'warn' : 'error',
|
|
2855
2904
|
context: _extends({
|
|
2856
2905
|
chainName,
|
|
2857
2906
|
thresholdSignatureScheme,
|
|
@@ -4578,6 +4627,24 @@ class DynamicWalletClient {
|
|
|
4578
4627
|
throw error;
|
|
4579
4628
|
}
|
|
4580
4629
|
}
|
|
4630
|
+
// AES-GCM authenticates the ciphertext, so a wrong key fails to decrypt
|
|
4631
|
+
// rather than returning corrupted plaintext — "decrypt did not throw" is a
|
|
4632
|
+
// sufficient guarantee the cipher is recoverable.
|
|
4633
|
+
async assertEncryptionRoundTrip({ password, encrypted, walletId, accountAddress }) {
|
|
4634
|
+
if (!encrypted) return;
|
|
4635
|
+
try {
|
|
4636
|
+
await this.decryptKeyShare({
|
|
4637
|
+
keyShare: encrypted,
|
|
4638
|
+
password
|
|
4639
|
+
});
|
|
4640
|
+
} catch (error) {
|
|
4641
|
+
throw new EncryptionSelfTestFailedError({
|
|
4642
|
+
walletId,
|
|
4643
|
+
accountAddress,
|
|
4644
|
+
cause: error
|
|
4645
|
+
});
|
|
4646
|
+
}
|
|
4647
|
+
}
|
|
4581
4648
|
async encryptKeyShare({ keyShare, password }) {
|
|
4582
4649
|
const serializedKeyShare = JSON.stringify(keyShare);
|
|
4583
4650
|
const encryptedKeyShare = await encryptData({
|
|
@@ -4946,7 +5013,7 @@ class DynamicWalletClient {
|
|
|
4946
5013
|
hasDelegatedShare: !!distribution.delegatedShare
|
|
4947
5014
|
}));
|
|
4948
5015
|
try {
|
|
4949
|
-
var _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
5016
|
+
var _preEncryptedCloudShares_, _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
|
|
4950
5017
|
// `let` so the retry path can swap in a freshly-signed session via the reverse channel on 400.
|
|
4951
5018
|
let resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
|
|
4952
5019
|
const canRefreshSignedSessionId = this.getSignedSessionIdCallback !== undefined;
|
|
@@ -4989,6 +5056,15 @@ class DynamicWalletClient {
|
|
|
4989
5056
|
dynamicShareCount: preEncryptedDynamicShares.length,
|
|
4990
5057
|
cloudProviderCount: preEncryptedCloudShares.length
|
|
4991
5058
|
}));
|
|
5059
|
+
var _preEncryptedDynamicShares_;
|
|
5060
|
+
// Fail fast before any upload if the just-written cipher can't be read
|
|
5061
|
+
// back with the same key material. Runs once per backup, not per share.
|
|
5062
|
+
await this.assertEncryptionRoundTrip({
|
|
5063
|
+
password,
|
|
5064
|
+
encrypted: (_preEncryptedDynamicShares_ = preEncryptedDynamicShares[0]) != null ? _preEncryptedDynamicShares_ : (_preEncryptedCloudShares_ = preEncryptedCloudShares[0]) == null ? void 0 : _preEncryptedCloudShares_.encrypted[0],
|
|
5065
|
+
walletId: walletData.walletId,
|
|
5066
|
+
accountAddress
|
|
5067
|
+
});
|
|
4992
5068
|
// Step 1: Upload shares in parallel, each with its own retry
|
|
4993
5069
|
const uploadPromises = [];
|
|
4994
5070
|
if (distribution.clientShares.length > 0) {
|
|
@@ -5361,16 +5437,26 @@ class DynamicWalletClient {
|
|
|
5361
5437
|
keygenIds: (_backupData_locationsWithKeyShares_map1 = (_backupData_locationsWithKeyShares1 = backupData.locationsWithKeyShares) == null ? void 0 : _backupData_locationsWithKeyShares1.map((ks)=>ks.keygenId)) != null ? _backupData_locationsWithKeyShares_map1 : []
|
|
5362
5438
|
});
|
|
5363
5439
|
}
|
|
5364
|
-
//
|
|
5365
|
-
//
|
|
5366
|
-
//
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5440
|
+
// Asserts the API-returned envId matches this.environmentId. The `!= null`
|
|
5441
|
+
// (not truthy) guard treats an empty-string envId as a misconfiguration to
|
|
5442
|
+
// surface, not a missing field to skip.
|
|
5443
|
+
async getUserWithEnvCheck(dynamicRequestId) {
|
|
5444
|
+
const user = await this.apiClient.getUser(dynamicRequestId);
|
|
5445
|
+
const actual = user == null ? void 0 : user.projectEnvironmentId;
|
|
5446
|
+
if (actual != null && actual !== this.environmentId) {
|
|
5447
|
+
throw new EnvironmentIdMismatchError({
|
|
5448
|
+
expected: this.environmentId,
|
|
5449
|
+
actual
|
|
5450
|
+
});
|
|
5451
|
+
}
|
|
5452
|
+
return user;
|
|
5453
|
+
}
|
|
5454
|
+
// Emits on both branches so the monitor can distinguish user-password
|
|
5455
|
+
// operations from envId-fallback ones.
|
|
5370
5456
|
logPasswordSharePresence(password, direction) {
|
|
5371
|
-
|
|
5372
|
-
this.logger.info('[keyshare-encryption] password-encrypted share', {
|
|
5373
|
-
passwordEncrypted
|
|
5457
|
+
const passwordEncrypted = shouldValidatePassword(password, this.environmentId);
|
|
5458
|
+
this.logger.info(passwordEncrypted ? '[keyshare-encryption] password-encrypted share' : '[keyshare-encryption] envId-fallback share', {
|
|
5459
|
+
passwordEncrypted,
|
|
5374
5460
|
direction,
|
|
5375
5461
|
environmentId: this.environmentId,
|
|
5376
5462
|
userId: this.userId
|
|
@@ -5388,6 +5474,7 @@ class DynamicWalletClient {
|
|
|
5388
5474
|
logPasswordOperationFailure(passwordOperation, error, context) {
|
|
5389
5475
|
const errorReason = classifyPasswordBackupError(error);
|
|
5390
5476
|
const logFn = isUserActionablePasswordBackupErrorReason(errorReason) ? this.logger.warn : this.logger.error;
|
|
5477
|
+
const errorContext = error instanceof KeyShareDecryptionError ? error.context : undefined;
|
|
5391
5478
|
logFn.call(this.logger, `[${passwordOperation}] failed`, _extends({}, context, {
|
|
5392
5479
|
passwordOperation,
|
|
5393
5480
|
errorReason,
|
|
@@ -5396,7 +5483,9 @@ class DynamicWalletClient {
|
|
|
5396
5483
|
errorName: error instanceof Error ? error.name : undefined,
|
|
5397
5484
|
errorMessage: error instanceof Error ? error.message : String(error),
|
|
5398
5485
|
errorStack: error instanceof Error ? error.stack : undefined
|
|
5399
|
-
}
|
|
5486
|
+
}, errorContext ? {
|
|
5487
|
+
errorContext
|
|
5488
|
+
} : {}));
|
|
5400
5489
|
}
|
|
5401
5490
|
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, passwordUpdateBatchId }) {
|
|
5402
5491
|
const dynamicRequestId = v4();
|
|
@@ -5505,15 +5594,16 @@ class DynamicWalletClient {
|
|
|
5505
5594
|
const deserializedKeyShare = JSON.parse(decryptedKeyShare);
|
|
5506
5595
|
return deserializedKeyShare;
|
|
5507
5596
|
} catch (error) {
|
|
5508
|
-
//
|
|
5509
|
-
//
|
|
5510
|
-
// framing doesn't apply. Re-throw as a distinct system-side error so
|
|
5511
|
-
// dashboards/logs classify it as `decryption_failure` instead of
|
|
5512
|
-
// `wrong_password`, and surface that the cause is most likely an
|
|
5513
|
-
// environment-ID mismatch (e.g. wallet encrypted in another environment).
|
|
5597
|
+
// Reclassify envId-fallback failures as system-side `decryption_failure`
|
|
5598
|
+
// so dashboards don't count them as `wrong_password`.
|
|
5514
5599
|
if (usedDefaultPassword && error instanceof InvalidPasswordError) {
|
|
5600
|
+
var _decodedKeyShare_version;
|
|
5515
5601
|
throw new KeyShareDecryptionError({
|
|
5516
|
-
cause: error
|
|
5602
|
+
cause: error,
|
|
5603
|
+
context: {
|
|
5604
|
+
environmentId: this.environmentId,
|
|
5605
|
+
kdfVersion: (_decodedKeyShare_version = decodedKeyShare == null ? void 0 : decodedKeyShare.version) != null ? _decodedKeyShare_version : 'unknown'
|
|
5606
|
+
}
|
|
5517
5607
|
});
|
|
5518
5608
|
}
|
|
5519
5609
|
throw error;
|
|
@@ -5653,7 +5743,7 @@ class DynamicWalletClient {
|
|
|
5653
5743
|
*/ async getGoogleOauthAccountIdOrThrow(accountAddress) {
|
|
5654
5744
|
const dynamicRequestId = v4();
|
|
5655
5745
|
try {
|
|
5656
|
-
const user = await this.
|
|
5746
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
5657
5747
|
const oauthAccountId = getGoogleOAuthAccountId(user == null ? void 0 : user.verifiedCredentials);
|
|
5658
5748
|
if (!oauthAccountId) {
|
|
5659
5749
|
const error = new Error('No Google OAuth account ID found');
|
|
@@ -6320,7 +6410,7 @@ class DynamicWalletClient {
|
|
|
6320
6410
|
async fetchWalletBackupInfoFromServer(accountAddress) {
|
|
6321
6411
|
var _user_verifiedCredentials;
|
|
6322
6412
|
const dynamicRequestId = v4();
|
|
6323
|
-
const user = await this.
|
|
6413
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6324
6414
|
const wallet = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.find((vc)=>{
|
|
6325
6415
|
var _vc_address;
|
|
6326
6416
|
return ((_vc_address = vc.address) == null ? void 0 : _vc_address.toLowerCase()) === accountAddress.toLowerCase();
|
|
@@ -6390,7 +6480,7 @@ class DynamicWalletClient {
|
|
|
6390
6480
|
return wallet;
|
|
6391
6481
|
}
|
|
6392
6482
|
// Fetch and restore all waas wallets from server
|
|
6393
|
-
const user = await this.
|
|
6483
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6394
6484
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
6395
6485
|
for (const vc of waasWallets != null ? waasWallets : []){
|
|
6396
6486
|
const addr = vc.address;
|
|
@@ -6766,7 +6856,7 @@ class DynamicWalletClient {
|
|
|
6766
6856
|
previousWalletMap
|
|
6767
6857
|
}
|
|
6768
6858
|
});
|
|
6769
|
-
const user = await this.
|
|
6859
|
+
const user = await this.getUserWithEnvCheck(dynamicRequestId);
|
|
6770
6860
|
this.userId = user.id;
|
|
6771
6861
|
const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
|
|
6772
6862
|
const wallets = waasWallets.map((vc)=>{
|
|
@@ -6844,6 +6934,7 @@ class DynamicWalletClient {
|
|
|
6844
6934
|
}
|
|
6845
6935
|
async createRooms({ roomType, thresholdSignatureScheme, roomCount = 5 }) {
|
|
6846
6936
|
const numberOfParties = this.getNumberOfParties(roomType, thresholdSignatureScheme);
|
|
6937
|
+
const generation = DynamicWalletClient.roomsGeneration;
|
|
6847
6938
|
try {
|
|
6848
6939
|
var _rooms_roomIds;
|
|
6849
6940
|
if (DynamicWalletClient.roomsInitializing[numberOfParties]) {
|
|
@@ -6873,6 +6964,12 @@ class DynamicWalletClient {
|
|
|
6873
6964
|
// The API call itself stays outside the lock — we must not hold a
|
|
6874
6965
|
// cross-tab lock over a network round-trip.
|
|
6875
6966
|
const merge = async ()=>{
|
|
6967
|
+
// If the room pool was cleared (user switch) while our API request was
|
|
6968
|
+
// in-flight, these rooms belong to the previous user. Dropping them here
|
|
6969
|
+
// prevents resurrecting them into the new user's storage.
|
|
6970
|
+
if (DynamicWalletClient.roomsGeneration !== generation) {
|
|
6971
|
+
return;
|
|
6972
|
+
}
|
|
6876
6973
|
// Re-read from storage under the lock so we don't clobber rooms another
|
|
6877
6974
|
// tab just wrote, and so we don't lose rooms consumed by getRoom() calls
|
|
6878
6975
|
// that ran while our API request was in-flight.
|
|
@@ -6892,8 +6989,16 @@ class DynamicWalletClient {
|
|
|
6892
6989
|
DynamicWalletClient.roomsInitializing[numberOfParties] = false;
|
|
6893
6990
|
} catch (error) {
|
|
6894
6991
|
DynamicWalletClient.roomsInitializing[numberOfParties] = false;
|
|
6895
|
-
|
|
6896
|
-
|
|
6992
|
+
// Route through the shared logError helper so HTTP errors get consistent
|
|
6993
|
+
// handling — notably a 429 (rate limit) is logged at warn, not error.
|
|
6994
|
+
logError({
|
|
6995
|
+
message: 'Error creating rooms',
|
|
6996
|
+
error: error,
|
|
6997
|
+
context: {
|
|
6998
|
+
roomType,
|
|
6999
|
+
thresholdSignatureScheme,
|
|
7000
|
+
numberOfParties
|
|
7001
|
+
}
|
|
6897
7002
|
});
|
|
6898
7003
|
throw error;
|
|
6899
7004
|
}
|
|
@@ -7018,6 +7123,9 @@ class DynamicWalletClient {
|
|
|
7018
7123
|
this.featureFlags = {};
|
|
7019
7124
|
this.logger = logger != null ? logger : new NoopLogger();
|
|
7020
7125
|
Logger.configure(this.logger);
|
|
7126
|
+
if (!validate(environmentId)) {
|
|
7127
|
+
throw new InvalidEnvironmentIdError(environmentId);
|
|
7128
|
+
}
|
|
7021
7129
|
this.environmentId = environmentId;
|
|
7022
7130
|
this.storageKey = `${STORAGE_KEY}-${storageKey != null ? storageKey : environmentId}`;
|
|
7023
7131
|
this.baseMPCRelayApiUrl = baseMPCRelayApiUrl;
|
|
@@ -7078,5 +7186,9 @@ class DynamicWalletClient {
|
|
|
7078
7186
|
DynamicWalletClient.rooms = {};
|
|
7079
7187
|
DynamicWalletClient.roomsInitializing = {};
|
|
7080
7188
|
DynamicWalletClient.roomsPersistChain = Promise.resolve();
|
|
7189
|
+
// Bumped by clearRoomPool() so an in-flight createRooms() that started before
|
|
7190
|
+
// a user switch can detect the clear and refuse to write the previous user's
|
|
7191
|
+
// rooms back into the new user's storage (TOCTOU on the create→merge gap).
|
|
7192
|
+
DynamicWalletClient.roomsGeneration = 0;
|
|
7081
7193
|
|
|
7082
7194
|
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_INCORRECT_PASSWORD, ERROR_KEYGEN_FAILED, ERROR_MULTIPLE_WALLETS_PER_CHAIN, ERROR_NO_KEY_SHARES_BACKED_UP, ERROR_PASSWORD_MISMATCH, ERROR_PASSWORD_REQUIRED, 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, OperationSource, 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, formatTronMessage, 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": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
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": "1.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.0.10",
|
|
8
8
|
"@dynamic-labs-wallet/forward-mpc-client": "0.10.1",
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "1.0.
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "1.0.10",
|
|
10
10
|
"@dynamic-labs/sdk-api-core": "^0.0.984",
|
|
11
11
|
"argon2id": "1.0.1",
|
|
12
12
|
"axios": "1.16.0",
|
|
@@ -6,18 +6,26 @@ export declare class InvalidPasswordError extends Error {
|
|
|
6
6
|
}
|
|
7
7
|
export declare const KEY_SHARE_DECRYPTION_ERROR = "Decryption failed.";
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
* Diagnostic context attached to a KeyShareDecryptionError. Goes to log fields
|
|
10
|
+
* so the monitor can group cross-env failures separately from KDF/version
|
|
11
|
+
* mismatches without substring-matching on error messages.
|
|
12
|
+
*/
|
|
13
|
+
export type KeyShareDecryptionContext = {
|
|
14
|
+
/** Populated when the envId-fallback was used (no user-supplied password). */
|
|
15
|
+
environmentId?: string;
|
|
16
|
+
kdfVersion: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Decryption failure with no user-supplied password involved (distinct from
|
|
20
|
+
* InvalidPasswordError, which is reserved for password-encrypted wallets).
|
|
21
|
+
* The message is deliberately generic; `name`, `cause`, and `context` carry
|
|
22
|
+
* the diagnostic.
|
|
17
23
|
*/
|
|
18
24
|
export declare class KeyShareDecryptionError extends Error {
|
|
25
|
+
readonly context?: KeyShareDecryptionContext;
|
|
19
26
|
constructor(options?: {
|
|
20
27
|
cause?: unknown;
|
|
28
|
+
context?: KeyShareDecryptionContext;
|
|
21
29
|
});
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/backup/encryption/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAGrF,eAAO,MAAM,sBAAsB,mFAAmF,CAAC;AAEvH,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/backup/encryption/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAMpE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAGrF,eAAO,MAAM,sBAAsB,mFAAmF,CAAC;AAEvH,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,SAAgB,OAAO,CAAC,EAAE,yBAAyB,CAAC;gBAExC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,yBAAyB,CAAA;KAAE;CAU/E;AAoBD;;;GAGG;AACH,eAAO,MAAM,WAAW,iCAIrB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC,aAAa,CA2BxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,uBAA8B;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,OAAO,CAAC,MAAM,CAyDhH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,YAAa,MAAM,KAAG,kBAmBjE,CAAC"}
|
package/src/client.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export declare class DynamicWalletClient {
|
|
|
45
45
|
protected static rooms: Record<number, Room[]>;
|
|
46
46
|
protected static roomsInitializing: Record<number, boolean>;
|
|
47
47
|
private static roomsPersistChain;
|
|
48
|
+
private static roomsGeneration;
|
|
48
49
|
/**
|
|
49
50
|
* Internal secure storage adapter for mobile TEE-backed storage.
|
|
50
51
|
* When set, all key share operations use this instead of localStorage.
|
|
@@ -75,9 +76,19 @@ export declare class DynamicWalletClient {
|
|
|
75
76
|
* Check if recovery is in progress for a wallet
|
|
76
77
|
*/
|
|
77
78
|
static isRecoveryInProgress(accountAddress: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Clear the in-memory MPC room pool.
|
|
81
|
+
*
|
|
82
|
+
* Rooms are cached in process-global static state and are pre-created without
|
|
83
|
+
* being bound to a wallet or user. They must be cleared whenever iframe
|
|
84
|
+
* storage is cleared on a user switch, otherwise a room created during one
|
|
85
|
+
* user's session can be reused in another user's signing ceremony, pairing a
|
|
86
|
+
* shared server key share with the wrong client key share.
|
|
87
|
+
*/
|
|
88
|
+
static clearRoomPool(): void;
|
|
78
89
|
/**
|
|
79
90
|
* Reset static state for testing purposes.
|
|
80
|
-
* This clears all wallet queues
|
|
91
|
+
* This clears all wallet queues, in-flight recovery tracking, and the room pool.
|
|
81
92
|
* @internal For testing only
|
|
82
93
|
*/
|
|
83
94
|
static resetStaticState(): void;
|
|
@@ -390,6 +401,7 @@ export declare class DynamicWalletClient {
|
|
|
390
401
|
derivedPrivateKey: string | undefined;
|
|
391
402
|
rawPublicKey: EcdsaPublicKey | Uint8Array | string | undefined;
|
|
392
403
|
}>;
|
|
404
|
+
private assertEncryptionRoundTrip;
|
|
393
405
|
encryptKeyShare({ keyShare, password }: {
|
|
394
406
|
keyShare: ClientKeyShare;
|
|
395
407
|
password?: string;
|
|
@@ -545,6 +557,7 @@ export declare class DynamicWalletClient {
|
|
|
545
557
|
externalKeyShareId?: string;
|
|
546
558
|
}[];
|
|
547
559
|
}>;
|
|
560
|
+
private getUserWithEnvCheck;
|
|
548
561
|
private logPasswordSharePresence;
|
|
549
562
|
private logPasswordOperationSuccess;
|
|
550
563
|
private logPasswordOperationFailure;
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
package/src/errors.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { validate as isUuid } from 'uuid';
|
|
2
|
+
export declare class InvalidEnvironmentIdError extends Error {
|
|
3
|
+
readonly environmentId: string;
|
|
4
|
+
constructor(environmentId: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class EnvironmentIdMismatchError extends Error {
|
|
7
|
+
readonly expected: string;
|
|
8
|
+
readonly actual: string;
|
|
9
|
+
constructor(args: {
|
|
10
|
+
expected: string;
|
|
11
|
+
actual: string;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export declare class EncryptionSelfTestFailedError extends Error {
|
|
15
|
+
readonly walletId: string | undefined;
|
|
16
|
+
readonly accountAddress: string;
|
|
17
|
+
constructor(args: {
|
|
18
|
+
walletId: string | undefined;
|
|
19
|
+
accountAddress: string;
|
|
20
|
+
cause?: unknown;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../packages/src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAE1C,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAE1B,aAAa,EAAE,MAAM;CAKlC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAMvD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAS5F"}
|
package/src/services/logger.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
export declare const logError: ({ message, error, context, }: {
|
|
1
|
+
export declare const logError: ({ message, error, context, level, }: {
|
|
2
2
|
message: string;
|
|
3
3
|
error: Error;
|
|
4
4
|
context: Record<string, unknown>;
|
|
5
|
+
/**
|
|
6
|
+
* Severity for non-HTTP, non-expected-user errors. Defaults to `error`.
|
|
7
|
+
* Callers whose failures are routinely transient or non-actionable
|
|
8
|
+
* (e.g. retried client-side ceremonies like keygen) can pass `warn` so
|
|
9
|
+
* they don't pollute error dashboards. HTTP errors are always classified
|
|
10
|
+
* by `handleAxiosError` (429 → warn) and expected user errors stay `info`.
|
|
11
|
+
*/
|
|
12
|
+
level?: "error" | "warn";
|
|
5
13
|
}) => void;
|
|
6
14
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/services/logger.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,QAAQ,wCAKlB;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B,KAAG,IAYH,CAAC"}
|
package/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,cAAc,EAGd,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EACL,cAAc,EAGd,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAoBxE,eAAO,MAAM,SAAS,eAAsC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,aAAa,WAAY,GAAG,KAAG,UAAU,GAAG,cAsBxD,CAAC;AAEF,eAAO,MAAM,+BAA+B,iEAIzC;IACD,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,WAGA,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAAa;IACnD,gBAAgB,EAAE,oBAAoB,CAAC;CACxC,KAAG,kBAoCH,CAAC;AAEF,eAAO,MAAM,cAAc,2BAAyC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,qBAI1G,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,MAAM,GAAG,SACU,CAAC;AAEnE,UAAU,WAAW;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/E;AA8CD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,EAAE,WAAe,EAAE,aAAmB,EAAE,aAA2B,EAAE,UAAe,EAAE,WAAW,EAAE,GAAE,WAAgB,GACpH,OAAO,CAAC,CAAC,CAAC,CA0DZ;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,UAAW,OAAO,KAAG,OAa5D,CAAC;AAUF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,UAAW,OAAO,KAAG,IAI9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAa,MAAM,GAAG,UAAU,gBAO5D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAa,MAAM,GAAG,UAAU,gBAA8B,CAAC;AAE7F,eAAO,MAAM,WAAW,QAAS,MAAM,YAKtC,CAAC;AA8BF,eAAO,MAAM,aAAa,cAAe,MAAM,WAAW,MAAM,GAAG,UAAU,KAAG,MAAM,GAAG,UAAU,GAAG,WAoBrG,CAAC;AAEF,eAAO,MAAM,uBAAuB,wBAAyB,qBAAqB,EAAE,KAAG,MAAM,GAAG,SAM/F,CAAC;AAEF,eAAO,MAAM,gBAAgB,mFAK1B;IACD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;;;;;;;;;;;CAaA,CAAC;AAEF,eAAO,MAAM,oBAAoB,qCAI9B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,SAQA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,6CAIlC;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE;QAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC/E,KAAG,OAAO,CAAC,OAAO,CAOlB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,UAAW,OAAO,KAAG,OAKzD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,gHAKpC;IACD,2BAA2B,EAAE,wBAAwB,CAAC;IACtD,2BAA2B,EAAE,wBAAwB,CAAC;IACtD,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,4BAA4B,CAAC,EAAE,OAAO,CAAC;CACxC,KAAG,OAKH,CAAC"}
|