@dynamic-labs-wallet/browser 0.0.345 → 0.0.347

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 CHANGED
@@ -833,6 +833,14 @@ const getClientKeyShareBackupInfo = (params)=>{
833
833
  const timeoutPromise = ({ timeInMs, activity = 'Ceremony' })=>{
834
834
  return new Promise((_, reject)=>setTimeout(()=>reject(new Error(`${activity} did not complete in ${timeInMs}ms`)), timeInMs));
835
835
  };
836
+ /**
837
+ * Extracts the HTTP status code from an error, returning undefined for non-HTTP
838
+ * failures (network errors, DNS, aborts) which retry logic typically treats
839
+ * the same as 5xx.
840
+ */ const getHttpStatus = (error)=>{
841
+ var _error_response;
842
+ return error instanceof axios.AxiosError ? (_error_response = error.response) == null ? void 0 : _error_response.status : undefined;
843
+ };
836
844
  const buildErrorContext = (error)=>{
837
845
  var _error_response, _error_response1;
838
846
  return {
@@ -866,7 +874,7 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
866
874
  * @param config - Configuration options for retry behavior
867
875
  * @returns Promise with the operation result
868
876
  * @throws Last error encountered after all retries are exhausted
869
- */ async function retryPromise(operation, { maxAttempts = 5, retryInterval = 500, operationName = 'operation', logContext = {} } = {}) {
877
+ */ async function retryPromise(operation, { maxAttempts = 5, retryInterval = 500, operationName = 'operation', logContext = {}, shouldRetry } = {}) {
870
878
  let attempts = 0;
871
879
  while(attempts < maxAttempts){
872
880
  try {
@@ -884,6 +892,19 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
884
892
  core.Logger.debug(`Skipping retry for ${operationName}: error marked non-retryable`, _extends({}, logContext, errorContext));
885
893
  throw error;
886
894
  }
895
+ if (shouldRetry) {
896
+ let allow = false;
897
+ try {
898
+ allow = await shouldRetry(error, attempts);
899
+ } catch (predicateError) {
900
+ core.Logger.warn(`shouldRetry predicate failed for ${operationName}, surfacing original error`, _extends({}, logContext, errorContext, {
901
+ predicateError: predicateError instanceof Error ? predicateError.message : 'Unknown error'
902
+ }));
903
+ }
904
+ if (!allow) {
905
+ throw error;
906
+ }
907
+ }
887
908
  if (attempts === maxAttempts) {
888
909
  logRetryExhausted(operationName, maxAttempts, errorContext, logContext);
889
910
  throw error;
@@ -1674,10 +1695,44 @@ const createDynamicOnlyDistribution = ({ allShares })=>({
1674
1695
  clientShares: allShares,
1675
1696
  cloudProviderShares: {}
1676
1697
  });
1677
- const hasDelegatedBackup = (backupInfo)=>{
1698
+ /**
1699
+ * Returns the delegated share set from a wallet's `otherShareSets` array, if
1700
+ * one exists. The new revoke flow targets the share set directly via this id
1701
+ * rather than running a reshare ceremony.
1702
+ *
1703
+ * Invariant: at most one delegated share set per wallet. If the server ever
1704
+ * returns more than one, the most recently created entry is returned and a
1705
+ * warning is logged once on the call site (caller's responsibility — keep this
1706
+ * helper pure).
1707
+ */ const getDelegatedShareSet = (otherShareSets)=>{
1708
+ var _otherShareSets_filter;
1709
+ const delegated = (_otherShareSets_filter = otherShareSets == null ? void 0 : otherShareSets.filter((shareSet)=>shareSet.shareSetType === 'delegated')) != null ? _otherShareSets_filter : [];
1710
+ if (delegated.length <= 1) return delegated[0];
1711
+ // Multiple delegated entries shouldn't happen today. Pick the newest by
1712
+ // createdAt so behavior is deterministic if the invariant ever breaks.
1713
+ return [
1714
+ ...delegated
1715
+ ].sort((a, b)=>a.createdAt < b.createdAt ? 1 : -1)[0];
1716
+ };
1717
+ /**
1718
+ * Checks whether a wallet has delegation set up. Two sources are checked
1719
+ * because the SDK is in a transitional state:
1720
+ *
1721
+ * 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
1722
+ * the pre-shareSets-array model where "delegated" was a backup location
1723
+ * of the rootUser share set.
1724
+ * 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
1725
+ * the post-shareSets-array model where the delegated share set is a
1726
+ * separate `WaasWallets` row.
1727
+ *
1728
+ * Today both sources should agree (redcoast still populates `backups[DELEGATED]`
1729
+ * during the transition). Once the legacy backup-location entry is removed,
1730
+ * only `otherShareSets` will be authoritative — at which point we can drop the
1731
+ * first branch and the `backupInfo` parameter.
1732
+ */ const hasDelegatedBackup = (backupInfo, otherShareSets)=>{
1678
1733
  var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
1679
1734
  var _backupInfo_backups_BackupLocation_DELEGATED_length;
1680
- return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[core.BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0;
1735
+ return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[core.BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0 || getDelegatedShareSet(otherShareSets) !== undefined;
1681
1736
  };
1682
1737
 
1683
1738
  /**
@@ -2098,6 +2153,11 @@ const readEnvironmentSettings = ()=>{
2098
2153
  }
2099
2154
 
2100
2155
  const ENCRYPTED_SHARES_PENDING_SUFFIX = `${core.ENCRYPTED_SHARES_STORAGE_SUFFIX}-pending`;
2156
+ // Telemetry tags for retry decision logs in the two backup wrappers.
2157
+ const BACKUP_OPERATION = {
2158
+ ToDynamic: 'backup to dynamic backend',
2159
+ MarkBackedUp: 'mark key shares as backed up'
2160
+ };
2101
2161
  class DynamicWalletClient {
2102
2162
  /**
2103
2163
  * Resolves the signed session ID from an explicit value or falls back to the callback.
@@ -2665,13 +2725,14 @@ class DynamicWalletClient {
2665
2725
  throw error;
2666
2726
  }
2667
2727
  }
2668
- async serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
2728
+ async serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
2669
2729
  // Create the room and sign the message
2670
2730
  if (typeof message !== 'string') {
2671
2731
  message = `0x${Buffer.from(message).toString('hex')}`;
2672
2732
  }
2673
2733
  const data = await this.apiClient.signMessage({
2674
2734
  walletId,
2735
+ shareSetId,
2675
2736
  message,
2676
2737
  isFormatted,
2677
2738
  dynamicRequestId,
@@ -2933,6 +2994,7 @@ class DynamicWalletClient {
2933
2994
  // Perform the server sign
2934
2995
  const serverSignPromise = this.serverSign({
2935
2996
  walletId: wallet.walletId,
2997
+ shareSetId: wallet.shareSetId,
2936
2998
  message,
2937
2999
  isFormatted,
2938
3000
  mfaToken,
@@ -3086,7 +3148,7 @@ class DynamicWalletClient {
3086
3148
  };
3087
3149
  }
3088
3150
  const preservedCloudProviders = getActiveCloudProviders(walletProperties.clientKeySharesBackupInfo);
3089
- const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo);
3151
+ const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo, walletProperties.otherShareSets);
3090
3152
  this.logger.info('[resolveBackupLocationsForReshare] Preserving existing backup locations', {
3091
3153
  dynamicRequestId,
3092
3154
  cloudProviders: preservedCloudProviders,
@@ -3150,6 +3212,7 @@ class DynamicWalletClient {
3150
3212
  const data = await this.apiClient.refreshWalletAccountShares({
3151
3213
  dynamicRequestId,
3152
3214
  walletId: wallet.walletId,
3215
+ shareSetId: wallet.shareSetId,
3153
3216
  mfaToken,
3154
3217
  elevatedAccessToken
3155
3218
  });
@@ -3381,6 +3444,7 @@ class DynamicWalletClient {
3381
3444
  // Server to create the room and complete the server reshare logics
3382
3445
  const data = await this.apiClient.reshare({
3383
3446
  walletId: wallet.walletId,
3447
+ shareSetId: wallet.shareSetId,
3384
3448
  clientKeygenIds: clientKeygenIds,
3385
3449
  oldThresholdSignatureScheme,
3386
3450
  newThresholdSignatureScheme,
@@ -3674,6 +3738,7 @@ class DynamicWalletClient {
3674
3738
  });
3675
3739
  const data = await this.apiClient.exportKey({
3676
3740
  walletId: wallet.walletId,
3741
+ shareSetId: wallet.shareSetId,
3677
3742
  exportId,
3678
3743
  bitcoinConfig,
3679
3744
  dynamicRequestId,
@@ -3894,7 +3959,7 @@ class DynamicWalletClient {
3894
3959
  * @param thresholdSignatureScheme - The TSS scheme used
3895
3960
  * @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
3896
3961
  * @param additionalProps - Any chain-specific additional properties to merge
3897
- */ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps = {} }) {
3962
+ */ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps = {} }) {
3898
3963
  this.updateWalletMap(accountAddress, _extends({
3899
3964
  accountAddress,
3900
3965
  walletId,
@@ -3902,6 +3967,12 @@ class DynamicWalletClient {
3902
3967
  thresholdSignatureScheme
3903
3968
  }, derivationPath ? {
3904
3969
  derivationPath
3970
+ } : {}, shareSetId ? {
3971
+ shareSetId
3972
+ } : {}, shareSetType ? {
3973
+ shareSetType
3974
+ } : {}, otherShareSets ? {
3975
+ otherShareSets
3905
3976
  } : {}, {
3906
3977
  clientKeySharesBackupInfo: getClientKeyShareBackupInfo()
3907
3978
  }, additionalProps));
@@ -3991,12 +4062,14 @@ class DynamicWalletClient {
3991
4062
  return shares;
3992
4063
  }
3993
4064
  async backupToDynamicBackend({ walletId, clientShares, password, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted, accountAddress, preEncryptedShares, passwordUpdateBatchId }) {
4065
+ var _this_getWalletFromMap;
3994
4066
  const encryptedDynamicShares = preEncryptedShares != null ? preEncryptedShares : await Promise.all(clientShares.map((keyShare)=>this.encryptKeyShare({
3995
4067
  keyShare,
3996
4068
  password
3997
4069
  })));
3998
4070
  const data = await this.apiClient.storeEncryptedBackupByWallet({
3999
4071
  walletId,
4072
+ shareSetId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.shareSetId,
4000
4073
  encryptedKeyShares: encryptedDynamicShares,
4001
4074
  passwordEncrypted: isPasswordEncrypted,
4002
4075
  encryptionVersion: ENCRYPTION_VERSION_CURRENT,
@@ -4101,7 +4174,7 @@ class DynamicWalletClient {
4101
4174
  keygenId
4102
4175
  };
4103
4176
  }
4104
- async publishDelegatedShare({ walletId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
4177
+ async publishDelegatedShare({ walletId, shareSetId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
4105
4178
  var _publicKey_key, _publicKey_key1, _publicKey_key2;
4106
4179
  const publicKey = await this.apiClient.getDelegatedEncryptionKey({
4107
4180
  environmentId: this.environmentId
@@ -4113,6 +4186,7 @@ class DynamicWalletClient {
4113
4186
  const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(delegatedShare), publicKey == null ? void 0 : (_publicKey_key1 = publicKey.key) == null ? void 0 : _publicKey_key1.publicKeyPemB64, (_publicKey_key_keyId = publicKey == null ? void 0 : (_publicKey_key2 = publicKey.key) == null ? void 0 : _publicKey_key2.keyId) != null ? _publicKey_key_keyId : publicKey == null ? void 0 : publicKey.keyId);
4114
4187
  const { status } = await this.apiClient.publishDelegatedKeyShare({
4115
4188
  walletId,
4189
+ shareSetId,
4116
4190
  encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
4117
4191
  signedSessionId,
4118
4192
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -4167,8 +4241,9 @@ class DynamicWalletClient {
4167
4241
  }));
4168
4242
  try {
4169
4243
  var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4170
- // Resolve signed session ID lazily once, so all downstream calls receive a string.
4171
- const resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
4244
+ // `let` so the retry path can swap in a freshly-signed session via the reverse channel on 400.
4245
+ let resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
4246
+ const canRefreshSignedSessionId = this.getSignedSessionIdCallback !== undefined;
4172
4247
  if (!(walletData == null ? void 0 : walletData.walletId)) {
4173
4248
  const error = new Error(`WalletId not found for accountAddress ${accountAddress}`);
4174
4249
  logError({
@@ -4211,6 +4286,11 @@ class DynamicWalletClient {
4211
4286
  // Step 1: Upload shares in parallel, each with its own retry
4212
4287
  const uploadPromises = [];
4213
4288
  if (distribution.clientShares.length > 0) {
4289
+ const operationName = BACKUP_OPERATION.ToDynamic;
4290
+ // A 400 on this endpoint means client-keyshare-service rejected the
4291
+ // chaining signature (stale signed-session or already-used nonce). The
4292
+ // fix is to fetch a fresh signed session via the reverse channel and
4293
+ // retry once; backoff alone would never succeed.
4214
4294
  uploadPromises.push(retryPromise(()=>this.backupToDynamicBackend({
4215
4295
  walletId: walletData.walletId,
4216
4296
  clientShares: distribution.clientShares,
@@ -4224,7 +4304,19 @@ class DynamicWalletClient {
4224
4304
  preEncryptedShares: preEncryptedDynamicShares,
4225
4305
  passwordUpdateBatchId
4226
4306
  }), {
4227
- operationName: 'backup to dynamic backend'
4307
+ operationName,
4308
+ shouldRetry: async (error, attempt)=>{
4309
+ const status = getHttpStatus(error);
4310
+ if (status === 400 && attempt === 1 && canRefreshSignedSessionId) {
4311
+ resolvedSignedSessionId = await this.resolveSignedSessionId();
4312
+ this.logger.info(`[${operationName}] refreshed signed session, retrying`, {
4313
+ dynamicRequestId,
4314
+ status
4315
+ });
4316
+ return true;
4317
+ }
4318
+ return status === undefined || status >= 500;
4319
+ }
4228
4320
  }));
4229
4321
  }
4230
4322
  // Cloud providers already have internal retries (Google Drive and iCloud),
@@ -4245,6 +4337,7 @@ class DynamicWalletClient {
4245
4337
  if (distribution.delegatedShare) {
4246
4338
  uploadPromises.push(retryPromise(()=>this.publishDelegatedShare({
4247
4339
  walletId: walletData.walletId,
4340
+ shareSetId: walletData.shareSetId,
4248
4341
  delegatedShare: distribution.delegatedShare,
4249
4342
  signedSessionId: resolvedSignedSessionId,
4250
4343
  dynamicRequestId,
@@ -4269,14 +4362,21 @@ class DynamicWalletClient {
4269
4362
  });
4270
4363
  locations.push(location);
4271
4364
  }
4272
- // Step 2: Activate server shares (independently retried)
4365
+ // Step 2: Activate server shares. No refresh path here: this endpoint doesn't use
4366
+ // the signed session, and its 400 is a server-side share-state mismatch a retry
4367
+ // won't fix.
4273
4368
  const backupData = await retryPromise(()=>this.apiClient.markKeySharesAsBackedUp({
4274
4369
  walletId: walletData.walletId,
4370
+ shareSetId: walletData.shareSetId,
4275
4371
  locations,
4276
4372
  dynamicRequestId,
4277
4373
  passwordUpdateBatchId
4278
4374
  }), {
4279
- operationName: 'mark key shares as backed up'
4375
+ operationName: BACKUP_OPERATION.MarkBackedUp,
4376
+ shouldRetry: (error)=>{
4377
+ const status = getHttpStatus(error);
4378
+ return status === undefined || status >= 500;
4379
+ }
4280
4380
  });
4281
4381
  // For password update pending responses, skip walletMap update — shares aren't active yet
4282
4382
  if (backupData.passwordUpdateStatus === 'pending') {
@@ -4448,7 +4548,7 @@ class DynamicWalletClient {
4448
4548
  * @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
4449
4549
  * @returns Promise with backup metadata including share locations and IDs
4450
4550
  */ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined, passwordUpdateBatchId, googleDriveAccessToken }) {
4451
- var _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4551
+ var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4452
4552
  const hasProvidedShares = clientKeyShares !== undefined;
4453
4553
  const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
4454
4554
  accountAddress
@@ -4467,12 +4567,13 @@ class DynamicWalletClient {
4467
4567
  });
4468
4568
  }
4469
4569
  // Re-read after the freshness check: walletMap may have been updated with fresh server data.
4470
- const walletBackupInfo = (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.clientKeySharesBackupInfo;
4570
+ const walletFromMap = this.getWalletFromMap(accountAddress);
4571
+ const walletBackupInfo = walletFromMap == null ? void 0 : walletFromMap.clientKeySharesBackupInfo;
4471
4572
  const activeCloudProviders = getActiveCloudProviders(walletBackupInfo);
4472
4573
  const shouldBackupToCloudProviders = cloudProviders.length > 0 || activeCloudProviders.length > 0;
4473
4574
  // Use requested providers, or fall back to existing active providers
4474
4575
  const providersToBackup = cloudProviders.length > 0 ? cloudProviders : activeCloudProviders;
4475
- const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo);
4576
+ const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo, walletFromMap == null ? void 0 : walletFromMap.otherShareSets);
4476
4577
  let distribution;
4477
4578
  let preserveDelegatedLocation = false;
4478
4579
  // Generic distribution logic - works with any cloud providers
@@ -4635,6 +4736,7 @@ class DynamicWalletClient {
4635
4736
  });
4636
4737
  const result = await this.apiClient.recoverEncryptedBackupByWallet({
4637
4738
  walletId: wallet.walletId,
4739
+ shareSetId: wallet.shareSetId,
4638
4740
  externalKeyShareIds: shares[core.BackupLocation.DYNAMIC] || [],
4639
4741
  signedSessionId,
4640
4742
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -4850,6 +4952,7 @@ class DynamicWalletClient {
4850
4952
  });
4851
4953
  const data = await this.apiClient.recoverEncryptedBackupByWallet({
4852
4954
  walletId: wallet.walletId,
4955
+ shareSetId: wallet.shareSetId,
4853
4956
  externalKeyShareIds: dynamicKeyShareIds,
4854
4957
  signedSessionId,
4855
4958
  mfaToken,
@@ -5485,7 +5588,10 @@ class DynamicWalletClient {
5485
5588
  clientKeySharesBackupInfo: getClientKeyShareBackupInfo({
5486
5589
  walletProperties: props
5487
5590
  }),
5488
- addressType: props == null ? void 0 : props.addressType
5591
+ addressType: props == null ? void 0 : props.addressType,
5592
+ shareSetId: props == null ? void 0 : props.shareSetId,
5593
+ shareSetType: props == null ? void 0 : props.shareSetType,
5594
+ otherShareSets: props == null ? void 0 : props.otherShareSets
5489
5595
  });
5490
5596
  }
5491
5597
  if (walletOperation !== core.WalletOperation.NO_OPERATION && await this.requiresRestoreBackupSharesForOperation({
@@ -5533,6 +5639,7 @@ class DynamicWalletClient {
5533
5639
  });
5534
5640
  const data = await this.apiClient.recoverEncryptedBackupByWallet({
5535
5641
  walletId: walletData.walletId,
5642
+ shareSetId: walletData.shareSetId,
5536
5643
  externalKeyShareIds: dynamicKeyShareIds,
5537
5644
  signedSessionId,
5538
5645
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -5836,7 +5943,7 @@ class DynamicWalletClient {
5836
5943
  this.userId = user.id;
5837
5944
  const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
5838
5945
  const wallets = waasWallets.map((vc)=>{
5839
- var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1;
5946
+ var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1, _vc_walletProperties2, _vc_walletProperties3, _vc_walletProperties4;
5840
5947
  var _this_getWalletFromMap_derivationPath;
5841
5948
  return {
5842
5949
  walletId: vc.id,
@@ -5847,7 +5954,10 @@ class DynamicWalletClient {
5847
5954
  }),
5848
5955
  derivationPath: (_this_getWalletFromMap_derivationPath = (_this_getWalletFromMap = this.getWalletFromMap(vc.address)) == null ? void 0 : _this_getWalletFromMap.derivationPath) != null ? _this_getWalletFromMap_derivationPath : undefined,
5849
5956
  thresholdSignatureScheme: (_vc_walletProperties = vc.walletProperties) == null ? void 0 : _vc_walletProperties.thresholdSignatureScheme,
5850
- addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType
5957
+ addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType,
5958
+ shareSetId: (_vc_walletProperties2 = vc.walletProperties) == null ? void 0 : _vc_walletProperties2.shareSetId,
5959
+ shareSetType: (_vc_walletProperties3 = vc.walletProperties) == null ? void 0 : _vc_walletProperties3.shareSetType,
5960
+ otherShareSets: (_vc_walletProperties4 = vc.walletProperties) == null ? void 0 : _vc_walletProperties4.otherShareSets
5851
5961
  };
5852
5962
  });
5853
5963
  const existingWalletMap = this.walletMap;
@@ -5862,7 +5972,10 @@ class DynamicWalletClient {
5862
5972
  derivationPath: existingWallet == null ? void 0 : existingWallet.derivationPath,
5863
5973
  thresholdSignatureScheme: wallet.thresholdSignatureScheme,
5864
5974
  addressType: wallet.addressType,
5865
- walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState
5975
+ walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState,
5976
+ shareSetId: wallet.shareSetId,
5977
+ shareSetType: wallet.shareSetType,
5978
+ otherShareSets: wallet.otherShareSets
5866
5979
  };
5867
5980
  return acc;
5868
5981
  }, {});
@@ -6245,7 +6358,9 @@ exports.getActiveCloudProviders = getActiveCloudProviders;
6245
6358
  exports.getBitcoinAddressTypeFromDerivationPath = getBitcoinAddressTypeFromDerivationPath;
6246
6359
  exports.getClientKeyShareBackupInfo = getClientKeyShareBackupInfo;
6247
6360
  exports.getClientKeyShareExportFileName = getClientKeyShareExportFileName;
6361
+ exports.getDelegatedShareSet = getDelegatedShareSet;
6248
6362
  exports.getGoogleOAuthAccountId = getGoogleOAuthAccountId;
6363
+ exports.getHttpStatus = getHttpStatus;
6249
6364
  exports.getICloudBackup = getICloudBackup;
6250
6365
  exports.getMPCSignatureScheme = getMPCSignatureScheme;
6251
6366
  exports.getMPCSigner = getMPCSigner;
package/index.esm.js CHANGED
@@ -834,6 +834,14 @@ const getClientKeyShareBackupInfo = (params)=>{
834
834
  const timeoutPromise = ({ timeInMs, activity = 'Ceremony' })=>{
835
835
  return new Promise((_, reject)=>setTimeout(()=>reject(new Error(`${activity} did not complete in ${timeInMs}ms`)), timeInMs));
836
836
  };
837
+ /**
838
+ * Extracts the HTTP status code from an error, returning undefined for non-HTTP
839
+ * failures (network errors, DNS, aborts) which retry logic typically treats
840
+ * the same as 5xx.
841
+ */ const getHttpStatus = (error)=>{
842
+ var _error_response;
843
+ return error instanceof AxiosError ? (_error_response = error.response) == null ? void 0 : _error_response.status : undefined;
844
+ };
837
845
  const buildErrorContext = (error)=>{
838
846
  var _error_response, _error_response1;
839
847
  return {
@@ -867,7 +875,7 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
867
875
  * @param config - Configuration options for retry behavior
868
876
  * @returns Promise with the operation result
869
877
  * @throws Last error encountered after all retries are exhausted
870
- */ async function retryPromise(operation, { maxAttempts = 5, retryInterval = 500, operationName = 'operation', logContext = {} } = {}) {
878
+ */ async function retryPromise(operation, { maxAttempts = 5, retryInterval = 500, operationName = 'operation', logContext = {}, shouldRetry } = {}) {
871
879
  let attempts = 0;
872
880
  while(attempts < maxAttempts){
873
881
  try {
@@ -885,6 +893,19 @@ const logRetryExhausted = (operationName, maxAttempts, errorContext, logContext)
885
893
  Logger.debug(`Skipping retry for ${operationName}: error marked non-retryable`, _extends({}, logContext, errorContext));
886
894
  throw error;
887
895
  }
896
+ if (shouldRetry) {
897
+ let allow = false;
898
+ try {
899
+ allow = await shouldRetry(error, attempts);
900
+ } catch (predicateError) {
901
+ Logger.warn(`shouldRetry predicate failed for ${operationName}, surfacing original error`, _extends({}, logContext, errorContext, {
902
+ predicateError: predicateError instanceof Error ? predicateError.message : 'Unknown error'
903
+ }));
904
+ }
905
+ if (!allow) {
906
+ throw error;
907
+ }
908
+ }
888
909
  if (attempts === maxAttempts) {
889
910
  logRetryExhausted(operationName, maxAttempts, errorContext, logContext);
890
911
  throw error;
@@ -1675,10 +1696,44 @@ const createDynamicOnlyDistribution = ({ allShares })=>({
1675
1696
  clientShares: allShares,
1676
1697
  cloudProviderShares: {}
1677
1698
  });
1678
- const hasDelegatedBackup = (backupInfo)=>{
1699
+ /**
1700
+ * Returns the delegated share set from a wallet's `otherShareSets` array, if
1701
+ * one exists. The new revoke flow targets the share set directly via this id
1702
+ * rather than running a reshare ceremony.
1703
+ *
1704
+ * Invariant: at most one delegated share set per wallet. If the server ever
1705
+ * returns more than one, the most recently created entry is returned and a
1706
+ * warning is logged once on the call site (caller's responsibility — keep this
1707
+ * helper pure).
1708
+ */ const getDelegatedShareSet = (otherShareSets)=>{
1709
+ var _otherShareSets_filter;
1710
+ const delegated = (_otherShareSets_filter = otherShareSets == null ? void 0 : otherShareSets.filter((shareSet)=>shareSet.shareSetType === 'delegated')) != null ? _otherShareSets_filter : [];
1711
+ if (delegated.length <= 1) return delegated[0];
1712
+ // Multiple delegated entries shouldn't happen today. Pick the newest by
1713
+ // createdAt so behavior is deterministic if the invariant ever breaks.
1714
+ return [
1715
+ ...delegated
1716
+ ].sort((a, b)=>a.createdAt < b.createdAt ? 1 : -1)[0];
1717
+ };
1718
+ /**
1719
+ * Checks whether a wallet has delegation set up. Two sources are checked
1720
+ * because the SDK is in a transitional state:
1721
+ *
1722
+ * 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
1723
+ * the pre-shareSets-array model where "delegated" was a backup location
1724
+ * of the rootUser share set.
1725
+ * 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
1726
+ * the post-shareSets-array model where the delegated share set is a
1727
+ * separate `WaasWallets` row.
1728
+ *
1729
+ * Today both sources should agree (redcoast still populates `backups[DELEGATED]`
1730
+ * during the transition). Once the legacy backup-location entry is removed,
1731
+ * only `otherShareSets` will be authoritative — at which point we can drop the
1732
+ * first branch and the `backupInfo` parameter.
1733
+ */ const hasDelegatedBackup = (backupInfo, otherShareSets)=>{
1679
1734
  var _backupInfo_backups_BackupLocation_DELEGATED, _backupInfo_backups;
1680
1735
  var _backupInfo_backups_BackupLocation_DELEGATED_length;
1681
- return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0;
1736
+ return ((_backupInfo_backups_BackupLocation_DELEGATED_length = backupInfo == null ? void 0 : (_backupInfo_backups = backupInfo.backups) == null ? void 0 : (_backupInfo_backups_BackupLocation_DELEGATED = _backupInfo_backups[BackupLocation.DELEGATED]) == null ? void 0 : _backupInfo_backups_BackupLocation_DELEGATED.length) != null ? _backupInfo_backups_BackupLocation_DELEGATED_length : 0) > 0 || getDelegatedShareSet(otherShareSets) !== undefined;
1682
1737
  };
1683
1738
 
1684
1739
  /**
@@ -2099,6 +2154,11 @@ const readEnvironmentSettings = ()=>{
2099
2154
  }
2100
2155
 
2101
2156
  const ENCRYPTED_SHARES_PENDING_SUFFIX = `${ENCRYPTED_SHARES_STORAGE_SUFFIX}-pending`;
2157
+ // Telemetry tags for retry decision logs in the two backup wrappers.
2158
+ const BACKUP_OPERATION = {
2159
+ ToDynamic: 'backup to dynamic backend',
2160
+ MarkBackedUp: 'mark key shares as backed up'
2161
+ };
2102
2162
  class DynamicWalletClient {
2103
2163
  /**
2104
2164
  * Resolves the signed session ID from an explicit value or falls back to the callback.
@@ -2666,13 +2726,14 @@ class DynamicWalletClient {
2666
2726
  throw error;
2667
2727
  }
2668
2728
  }
2669
- async serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
2729
+ async serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig }) {
2670
2730
  // Create the room and sign the message
2671
2731
  if (typeof message !== 'string') {
2672
2732
  message = `0x${Buffer.from(message).toString('hex')}`;
2673
2733
  }
2674
2734
  const data = await this.apiClient.signMessage({
2675
2735
  walletId,
2736
+ shareSetId,
2676
2737
  message,
2677
2738
  isFormatted,
2678
2739
  dynamicRequestId,
@@ -2934,6 +2995,7 @@ class DynamicWalletClient {
2934
2995
  // Perform the server sign
2935
2996
  const serverSignPromise = this.serverSign({
2936
2997
  walletId: wallet.walletId,
2998
+ shareSetId: wallet.shareSetId,
2937
2999
  message,
2938
3000
  isFormatted,
2939
3001
  mfaToken,
@@ -3087,7 +3149,7 @@ class DynamicWalletClient {
3087
3149
  };
3088
3150
  }
3089
3151
  const preservedCloudProviders = getActiveCloudProviders(walletProperties.clientKeySharesBackupInfo);
3090
- const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo);
3152
+ const preservedDelegation = hasDelegatedBackup(walletProperties.clientKeySharesBackupInfo, walletProperties.otherShareSets);
3091
3153
  this.logger.info('[resolveBackupLocationsForReshare] Preserving existing backup locations', {
3092
3154
  dynamicRequestId,
3093
3155
  cloudProviders: preservedCloudProviders,
@@ -3151,6 +3213,7 @@ class DynamicWalletClient {
3151
3213
  const data = await this.apiClient.refreshWalletAccountShares({
3152
3214
  dynamicRequestId,
3153
3215
  walletId: wallet.walletId,
3216
+ shareSetId: wallet.shareSetId,
3154
3217
  mfaToken,
3155
3218
  elevatedAccessToken
3156
3219
  });
@@ -3382,6 +3445,7 @@ class DynamicWalletClient {
3382
3445
  // Server to create the room and complete the server reshare logics
3383
3446
  const data = await this.apiClient.reshare({
3384
3447
  walletId: wallet.walletId,
3448
+ shareSetId: wallet.shareSetId,
3385
3449
  clientKeygenIds: clientKeygenIds,
3386
3450
  oldThresholdSignatureScheme,
3387
3451
  newThresholdSignatureScheme,
@@ -3675,6 +3739,7 @@ class DynamicWalletClient {
3675
3739
  });
3676
3740
  const data = await this.apiClient.exportKey({
3677
3741
  walletId: wallet.walletId,
3742
+ shareSetId: wallet.shareSetId,
3678
3743
  exportId,
3679
3744
  bitcoinConfig,
3680
3745
  dynamicRequestId,
@@ -3895,7 +3960,7 @@ class DynamicWalletClient {
3895
3960
  * @param thresholdSignatureScheme - The TSS scheme used
3896
3961
  * @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
3897
3962
  * @param additionalProps - Any chain-specific additional properties to merge
3898
- */ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps = {} }) {
3963
+ */ initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps = {} }) {
3899
3964
  this.updateWalletMap(accountAddress, _extends({
3900
3965
  accountAddress,
3901
3966
  walletId,
@@ -3903,6 +3968,12 @@ class DynamicWalletClient {
3903
3968
  thresholdSignatureScheme
3904
3969
  }, derivationPath ? {
3905
3970
  derivationPath
3971
+ } : {}, shareSetId ? {
3972
+ shareSetId
3973
+ } : {}, shareSetType ? {
3974
+ shareSetType
3975
+ } : {}, otherShareSets ? {
3976
+ otherShareSets
3906
3977
  } : {}, {
3907
3978
  clientKeySharesBackupInfo: getClientKeyShareBackupInfo()
3908
3979
  }, additionalProps));
@@ -3992,12 +4063,14 @@ class DynamicWalletClient {
3992
4063
  return shares;
3993
4064
  }
3994
4065
  async backupToDynamicBackend({ walletId, clientShares, password, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted, accountAddress, preEncryptedShares, passwordUpdateBatchId }) {
4066
+ var _this_getWalletFromMap;
3995
4067
  const encryptedDynamicShares = preEncryptedShares != null ? preEncryptedShares : await Promise.all(clientShares.map((keyShare)=>this.encryptKeyShare({
3996
4068
  keyShare,
3997
4069
  password
3998
4070
  })));
3999
4071
  const data = await this.apiClient.storeEncryptedBackupByWallet({
4000
4072
  walletId,
4073
+ shareSetId: (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.shareSetId,
4001
4074
  encryptedKeyShares: encryptedDynamicShares,
4002
4075
  passwordEncrypted: isPasswordEncrypted,
4003
4076
  encryptionVersion: ENCRYPTION_VERSION_CURRENT,
@@ -4102,7 +4175,7 @@ class DynamicWalletClient {
4102
4175
  keygenId
4103
4176
  };
4104
4177
  }
4105
- async publishDelegatedShare({ walletId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
4178
+ async publishDelegatedShare({ walletId, shareSetId, delegatedShare, signedSessionId, dynamicRequestId, chainName, bitcoinConfig, isPasswordEncrypted }) {
4106
4179
  var _publicKey_key, _publicKey_key1, _publicKey_key2;
4107
4180
  const publicKey = await this.apiClient.getDelegatedEncryptionKey({
4108
4181
  environmentId: this.environmentId
@@ -4114,6 +4187,7 @@ class DynamicWalletClient {
4114
4187
  const encryptedDelegatedKeyShareEnvelope = await encryptDelegatedKeyShare(JSON.stringify(delegatedShare), publicKey == null ? void 0 : (_publicKey_key1 = publicKey.key) == null ? void 0 : _publicKey_key1.publicKeyPemB64, (_publicKey_key_keyId = publicKey == null ? void 0 : (_publicKey_key2 = publicKey.key) == null ? void 0 : _publicKey_key2.keyId) != null ? _publicKey_key_keyId : publicKey == null ? void 0 : publicKey.keyId);
4115
4188
  const { status } = await this.apiClient.publishDelegatedKeyShare({
4116
4189
  walletId,
4190
+ shareSetId,
4117
4191
  encryptedKeyShare: encryptedDelegatedKeyShareEnvelope,
4118
4192
  signedSessionId,
4119
4193
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -4168,8 +4242,9 @@ class DynamicWalletClient {
4168
4242
  }));
4169
4243
  try {
4170
4244
  var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4171
- // Resolve signed session ID lazily once, so all downstream calls receive a string.
4172
- const resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
4245
+ // `let` so the retry path can swap in a freshly-signed session via the reverse channel on 400.
4246
+ let resolvedSignedSessionId = await this.resolveSignedSessionId(signedSessionId);
4247
+ const canRefreshSignedSessionId = this.getSignedSessionIdCallback !== undefined;
4173
4248
  if (!(walletData == null ? void 0 : walletData.walletId)) {
4174
4249
  const error = new Error(`WalletId not found for accountAddress ${accountAddress}`);
4175
4250
  logError({
@@ -4212,6 +4287,11 @@ class DynamicWalletClient {
4212
4287
  // Step 1: Upload shares in parallel, each with its own retry
4213
4288
  const uploadPromises = [];
4214
4289
  if (distribution.clientShares.length > 0) {
4290
+ const operationName = BACKUP_OPERATION.ToDynamic;
4291
+ // A 400 on this endpoint means client-keyshare-service rejected the
4292
+ // chaining signature (stale signed-session or already-used nonce). The
4293
+ // fix is to fetch a fresh signed session via the reverse channel and
4294
+ // retry once; backoff alone would never succeed.
4215
4295
  uploadPromises.push(retryPromise(()=>this.backupToDynamicBackend({
4216
4296
  walletId: walletData.walletId,
4217
4297
  clientShares: distribution.clientShares,
@@ -4225,7 +4305,19 @@ class DynamicWalletClient {
4225
4305
  preEncryptedShares: preEncryptedDynamicShares,
4226
4306
  passwordUpdateBatchId
4227
4307
  }), {
4228
- operationName: 'backup to dynamic backend'
4308
+ operationName,
4309
+ shouldRetry: async (error, attempt)=>{
4310
+ const status = getHttpStatus(error);
4311
+ if (status === 400 && attempt === 1 && canRefreshSignedSessionId) {
4312
+ resolvedSignedSessionId = await this.resolveSignedSessionId();
4313
+ this.logger.info(`[${operationName}] refreshed signed session, retrying`, {
4314
+ dynamicRequestId,
4315
+ status
4316
+ });
4317
+ return true;
4318
+ }
4319
+ return status === undefined || status >= 500;
4320
+ }
4229
4321
  }));
4230
4322
  }
4231
4323
  // Cloud providers already have internal retries (Google Drive and iCloud),
@@ -4246,6 +4338,7 @@ class DynamicWalletClient {
4246
4338
  if (distribution.delegatedShare) {
4247
4339
  uploadPromises.push(retryPromise(()=>this.publishDelegatedShare({
4248
4340
  walletId: walletData.walletId,
4341
+ shareSetId: walletData.shareSetId,
4249
4342
  delegatedShare: distribution.delegatedShare,
4250
4343
  signedSessionId: resolvedSignedSessionId,
4251
4344
  dynamicRequestId,
@@ -4270,14 +4363,21 @@ class DynamicWalletClient {
4270
4363
  });
4271
4364
  locations.push(location);
4272
4365
  }
4273
- // Step 2: Activate server shares (independently retried)
4366
+ // Step 2: Activate server shares. No refresh path here: this endpoint doesn't use
4367
+ // the signed session, and its 400 is a server-side share-state mismatch a retry
4368
+ // won't fix.
4274
4369
  const backupData = await retryPromise(()=>this.apiClient.markKeySharesAsBackedUp({
4275
4370
  walletId: walletData.walletId,
4371
+ shareSetId: walletData.shareSetId,
4276
4372
  locations,
4277
4373
  dynamicRequestId,
4278
4374
  passwordUpdateBatchId
4279
4375
  }), {
4280
- operationName: 'mark key shares as backed up'
4376
+ operationName: BACKUP_OPERATION.MarkBackedUp,
4377
+ shouldRetry: (error)=>{
4378
+ const status = getHttpStatus(error);
4379
+ return status === undefined || status >= 500;
4380
+ }
4281
4381
  });
4282
4382
  // For password update pending responses, skip walletMap update — shares aren't active yet
4283
4383
  if (backupData.passwordUpdateStatus === 'pending') {
@@ -4449,7 +4549,7 @@ class DynamicWalletClient {
4449
4549
  * @param params.backupToGoogleDrive - Whether to backup to Google Drive (defaults to false)
4450
4550
  * @returns Promise with backup metadata including share locations and IDs
4451
4551
  */ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined, passwordUpdateBatchId, googleDriveAccessToken }) {
4452
- var _this_getWalletFromMap, _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4552
+ var _backupData_locationsWithKeyShares, _backupData_locationsWithKeyShares1;
4453
4553
  const hasProvidedShares = clientKeyShares !== undefined;
4454
4554
  const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromStorage({
4455
4555
  accountAddress
@@ -4468,12 +4568,13 @@ class DynamicWalletClient {
4468
4568
  });
4469
4569
  }
4470
4570
  // Re-read after the freshness check: walletMap may have been updated with fresh server data.
4471
- const walletBackupInfo = (_this_getWalletFromMap = this.getWalletFromMap(accountAddress)) == null ? void 0 : _this_getWalletFromMap.clientKeySharesBackupInfo;
4571
+ const walletFromMap = this.getWalletFromMap(accountAddress);
4572
+ const walletBackupInfo = walletFromMap == null ? void 0 : walletFromMap.clientKeySharesBackupInfo;
4472
4573
  const activeCloudProviders = getActiveCloudProviders(walletBackupInfo);
4473
4574
  const shouldBackupToCloudProviders = cloudProviders.length > 0 || activeCloudProviders.length > 0;
4474
4575
  // Use requested providers, or fall back to existing active providers
4475
4576
  const providersToBackup = cloudProviders.length > 0 ? cloudProviders : activeCloudProviders;
4476
- const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo);
4577
+ const hasExistingDelegation = hasDelegatedBackup(walletBackupInfo, walletFromMap == null ? void 0 : walletFromMap.otherShareSets);
4477
4578
  let distribution;
4478
4579
  let preserveDelegatedLocation = false;
4479
4580
  // Generic distribution logic - works with any cloud providers
@@ -4636,6 +4737,7 @@ class DynamicWalletClient {
4636
4737
  });
4637
4738
  const result = await this.apiClient.recoverEncryptedBackupByWallet({
4638
4739
  walletId: wallet.walletId,
4740
+ shareSetId: wallet.shareSetId,
4639
4741
  externalKeyShareIds: shares[BackupLocation.DYNAMIC] || [],
4640
4742
  signedSessionId,
4641
4743
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -4851,6 +4953,7 @@ class DynamicWalletClient {
4851
4953
  });
4852
4954
  const data = await this.apiClient.recoverEncryptedBackupByWallet({
4853
4955
  walletId: wallet.walletId,
4956
+ shareSetId: wallet.shareSetId,
4854
4957
  externalKeyShareIds: dynamicKeyShareIds,
4855
4958
  signedSessionId,
4856
4959
  mfaToken,
@@ -5486,7 +5589,10 @@ class DynamicWalletClient {
5486
5589
  clientKeySharesBackupInfo: getClientKeyShareBackupInfo({
5487
5590
  walletProperties: props
5488
5591
  }),
5489
- addressType: props == null ? void 0 : props.addressType
5592
+ addressType: props == null ? void 0 : props.addressType,
5593
+ shareSetId: props == null ? void 0 : props.shareSetId,
5594
+ shareSetType: props == null ? void 0 : props.shareSetType,
5595
+ otherShareSets: props == null ? void 0 : props.otherShareSets
5490
5596
  });
5491
5597
  }
5492
5598
  if (walletOperation !== WalletOperation.NO_OPERATION && await this.requiresRestoreBackupSharesForOperation({
@@ -5534,6 +5640,7 @@ class DynamicWalletClient {
5534
5640
  });
5535
5641
  const data = await this.apiClient.recoverEncryptedBackupByWallet({
5536
5642
  walletId: walletData.walletId,
5643
+ shareSetId: walletData.shareSetId,
5537
5644
  externalKeyShareIds: dynamicKeyShareIds,
5538
5645
  signedSessionId,
5539
5646
  requiresSignedSessionId: this.requiresSignedSessionId(),
@@ -5837,7 +5944,7 @@ class DynamicWalletClient {
5837
5944
  this.userId = user.id;
5838
5945
  const waasWallets = (_user_verifiedCredentials = user.verifiedCredentials) == null ? void 0 : _user_verifiedCredentials.filter((vc)=>vc.walletName === 'dynamicwaas');
5839
5946
  const wallets = waasWallets.map((vc)=>{
5840
- var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1;
5947
+ var _this_getWalletFromMap, _vc_walletProperties, _vc_walletProperties1, _vc_walletProperties2, _vc_walletProperties3, _vc_walletProperties4;
5841
5948
  var _this_getWalletFromMap_derivationPath;
5842
5949
  return {
5843
5950
  walletId: vc.id,
@@ -5848,7 +5955,10 @@ class DynamicWalletClient {
5848
5955
  }),
5849
5956
  derivationPath: (_this_getWalletFromMap_derivationPath = (_this_getWalletFromMap = this.getWalletFromMap(vc.address)) == null ? void 0 : _this_getWalletFromMap.derivationPath) != null ? _this_getWalletFromMap_derivationPath : undefined,
5850
5957
  thresholdSignatureScheme: (_vc_walletProperties = vc.walletProperties) == null ? void 0 : _vc_walletProperties.thresholdSignatureScheme,
5851
- addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType
5958
+ addressType: (_vc_walletProperties1 = vc.walletProperties) == null ? void 0 : _vc_walletProperties1.addressType,
5959
+ shareSetId: (_vc_walletProperties2 = vc.walletProperties) == null ? void 0 : _vc_walletProperties2.shareSetId,
5960
+ shareSetType: (_vc_walletProperties3 = vc.walletProperties) == null ? void 0 : _vc_walletProperties3.shareSetType,
5961
+ otherShareSets: (_vc_walletProperties4 = vc.walletProperties) == null ? void 0 : _vc_walletProperties4.otherShareSets
5852
5962
  };
5853
5963
  });
5854
5964
  const existingWalletMap = this.walletMap;
@@ -5863,7 +5973,10 @@ class DynamicWalletClient {
5863
5973
  derivationPath: existingWallet == null ? void 0 : existingWallet.derivationPath,
5864
5974
  thresholdSignatureScheme: wallet.thresholdSignatureScheme,
5865
5975
  addressType: wallet.addressType,
5866
- walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState
5976
+ walletReadyState: existingWallet == null ? void 0 : existingWallet.walletReadyState,
5977
+ shareSetId: wallet.shareSetId,
5978
+ shareSetType: wallet.shareSetType,
5979
+ otherShareSets: wallet.otherShareSets
5867
5980
  };
5868
5981
  return acc;
5869
5982
  }, {});
@@ -6140,4 +6253,4 @@ DynamicWalletClient.rooms = {};
6140
6253
  DynamicWalletClient.roomsInitializing = {};
6141
6254
  DynamicWalletClient.roomsPersistChain = Promise.resolve();
6142
6255
 
6143
- 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, getGoogleOAuthAccountId, getICloudBackup, getMPCSignatureScheme, getMPCSigner, hasCloudProviderBackup, hasDelegatedBackup, hasEncryptedSharesCached, initializeCloudKit, isBrowser, isHeavyQueueOperation, isHexString, isICloudAuthenticated, isNonRetryableCeremonyError, isPublicKeyMismatchError, isRecoverQueueOperation, isSignQueueOperation, listICloudBackups, markCeremonyErrorNonRetryable, readEnvironmentSettings, retryPromise, shouldReshareToSameBackups, timeoutPromise };
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 };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@dynamic-labs-wallet/browser",
3
- "version": "0.0.345",
3
+ "version": "0.0.347",
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.345",
7
+ "@dynamic-labs-wallet/core": "0.0.347",
8
8
  "@dynamic-labs-wallet/forward-mpc-client": "0.9.0",
9
- "@dynamic-labs-wallet/primitives": "0.0.345",
9
+ "@dynamic-labs-wallet/primitives": "0.0.347",
10
10
  "@dynamic-labs/sdk-api-core": "^0.0.964",
11
11
  "argon2id": "1.0.1",
12
12
  "axios": "1.15.2",
package/src/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EcdsaSignature, MessageHash, type EcdsaPublicKey } from '#internal/web';
2
- import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type GetWalletResponse, type ILogger, type InitializeResult, type KeyShareBackupInfo, type SecureStorageAdapter, type TraceContext, type WalletRecoveryState } from '@dynamic-labs-wallet/core';
2
+ import { AuthMode, BackupLocation, DynamicApiClient, ThresholdSignatureScheme, WalletOperation, type BackupLocationWithExternalKeyShareId, type BitcoinConfig, type DynamicWalletClientProps, type FeatureFlags, type GetWalletResponse, type ILogger, type InitializeResult, type KeyShareBackupInfo, type SecureStorageAdapter, type ShareSet, type ShareSetType, type TraceContext, type WalletRecoveryState } from '@dynamic-labs-wallet/core';
3
3
  import { RoomTypeEnum, type SignMessageContext } from '@dynamic-labs/sdk-api-core';
4
4
  import type { ClientInitKeygenResult, ClientKeyShare, MPCSigner } from './mpc/types.js';
5
5
  import { type SupportedStorage } from './services/localStorage.js';
@@ -208,8 +208,9 @@ export declare class DynamicWalletClient {
208
208
  clientKeyShares: ClientKeyShare[];
209
209
  }>;
210
210
  private runImportRawPrivateKeyAttempt;
211
- serverSign({ walletId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig, }: {
211
+ serverSign({ walletId, shareSetId, message, isFormatted, mfaToken, elevatedAccessToken, roomId, context, onError, dynamicRequestId, traceContext, bitcoinConfig, }: {
212
212
  walletId: string;
213
+ shareSetId?: string;
213
214
  message: string | Uint8Array;
214
215
  dynamicRequestId: string;
215
216
  isFormatted?: boolean;
@@ -408,12 +409,15 @@ export declare class DynamicWalletClient {
408
409
  * @param derivationPath - Optional derivation path (will be computed from chainConfig if not provided)
409
410
  * @param additionalProps - Any chain-specific additional properties to merge
410
411
  */
411
- protected initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, additionalProps, }: {
412
+ protected initializeWalletMapEntry({ accountAddress, walletId, chainName, thresholdSignatureScheme, derivationPath, shareSetId, shareSetType, otherShareSets, additionalProps, }: {
412
413
  accountAddress: string;
413
414
  walletId: string;
414
415
  chainName: string;
415
416
  thresholdSignatureScheme: ThresholdSignatureScheme;
416
417
  derivationPath?: string;
418
+ shareSetId?: string;
419
+ shareSetType?: ShareSetType;
420
+ otherShareSets?: ShareSet[];
417
421
  additionalProps?: Record<string, unknown>;
418
422
  }): void;
419
423
  /**
@@ -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/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { BackupLocation, WalletOperation, type KeyShareBackupInfo, type ThresholdSignatureScheme, type WalletReadyState } from '@dynamic-labs-wallet/core';
1
+ import { BackupLocation, WalletOperation, type KeyShareBackupInfo, type ShareSet, type ShareSetType, type ThresholdSignatureScheme, type WalletReadyState } from '@dynamic-labs-wallet/core';
2
2
  import type { ClientKeyShare } from './mpc/types.js';
3
3
  export interface WalletProperties {
4
4
  chainName: string;
@@ -9,6 +9,15 @@ export interface WalletProperties {
9
9
  derivationPath?: string;
10
10
  addressType?: string;
11
11
  walletReadyState: WalletReadyState;
12
+ /** Primary share set — the one the SDK signs with (rootUser for the browser). */
13
+ shareSetId?: string;
14
+ shareSetType?: ShareSetType;
15
+ /**
16
+ * Other active share sets on this wallet (e.g., a delegated share set
17
+ * surfaced alongside rootUser). Read-only awareness; the SDK signs with the
18
+ * primary inlined above.
19
+ */
20
+ otherShareSets?: ShareSet[];
12
21
  }
13
22
  export declare class WalletNotReadyError extends Error {
14
23
  readonly accountAddress: string;
@@ -108,7 +117,34 @@ export declare const createDelegationOnlyDistribution: ({ existingShares, delega
108
117
  export declare const createDynamicOnlyDistribution: ({ allShares }: {
109
118
  allShares: ClientKeyShare[];
110
119
  }) => ShareDistribution;
111
- export declare const hasDelegatedBackup: (backupInfo?: KeyShareBackupInfo) => boolean;
120
+ /**
121
+ * Returns the delegated share set from a wallet's `otherShareSets` array, if
122
+ * one exists. The new revoke flow targets the share set directly via this id
123
+ * rather than running a reshare ceremony.
124
+ *
125
+ * Invariant: at most one delegated share set per wallet. If the server ever
126
+ * returns more than one, the most recently created entry is returned and a
127
+ * warning is logged once on the call site (caller's responsibility — keep this
128
+ * helper pure).
129
+ */
130
+ export declare const getDelegatedShareSet: (otherShareSets?: ShareSet[]) => ShareSet | undefined;
131
+ /**
132
+ * Checks whether a wallet has delegation set up. Two sources are checked
133
+ * because the SDK is in a transitional state:
134
+ *
135
+ * 1. Legacy: `backups[DELEGATED]` on the rootUser share set's backup info —
136
+ * the pre-shareSets-array model where "delegated" was a backup location
137
+ * of the rootUser share set.
138
+ * 2. New: an entry with `shareSetType: 'delegated'` in `otherShareSets` —
139
+ * the post-shareSets-array model where the delegated share set is a
140
+ * separate `WaasWallets` row.
141
+ *
142
+ * Today both sources should agree (redcoast still populates `backups[DELEGATED]`
143
+ * during the transition). Once the legacy backup-location entry is removed,
144
+ * only `otherShareSets` will be authoritative — at which point we can drop the
145
+ * first branch and the `backupInfo` parameter.
146
+ */
147
+ export declare const hasDelegatedBackup: (backupInfo?: KeyShareBackupInfo, otherShareSets?: ShareSet[]) => boolean;
112
148
  export type Room = {
113
149
  roomId: string;
114
150
  createdAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"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"}
package/src/utils.d.ts CHANGED
@@ -19,11 +19,27 @@ export declare const timeoutPromise: ({ timeInMs, activity }: {
19
19
  timeInMs: number;
20
20
  activity?: string;
21
21
  }) => Promise<unknown>;
22
+ /**
23
+ * Extracts the HTTP status code from an error, returning undefined for non-HTTP
24
+ * failures (network errors, DNS, aborts) which retry logic typically treats
25
+ * the same as 5xx.
26
+ */
27
+ export declare const getHttpStatus: (error: unknown) => number | undefined;
22
28
  interface RetryConfig {
23
29
  maxAttempts?: number;
24
30
  retryInterval?: number;
25
31
  operationName?: string;
26
32
  logContext?: Record<string, unknown>;
33
+ /**
34
+ * Optional predicate called after each failure. Receives the error and the
35
+ * count of failures so far (1 = first failure). Return false to fail fast.
36
+ * The predicate may run async side effects (e.g. refresh a stale credential)
37
+ * before returning. If it throws, the original error is surfaced.
38
+ *
39
+ * When omitted, the default behavior retries every error except those marked
40
+ * `isRetryable: false`.
41
+ */
42
+ shouldRetry?: (error: unknown, attempt: number) => boolean | Promise<boolean>;
27
43
  }
28
44
  /**
29
45
  * Generic helper function to retry a promise-based operations
@@ -33,7 +49,7 @@ interface RetryConfig {
33
49
  * @returns Promise with the operation result
34
50
  * @throws Last error encountered after all retries are exhausted
35
51
  */
36
- export declare function retryPromise<T>(operation: () => Promise<T>, { maxAttempts, retryInterval, operationName, logContext }?: RetryConfig): Promise<T>;
52
+ export declare function retryPromise<T>(operation: () => Promise<T>, { maxAttempts, retryInterval, operationName, logContext, shouldRetry }?: RetryConfig): Promise<T>;
37
53
  /**
38
54
  * Classifies whether a wallet-creation / wallet-import ceremony error is
39
55
  * worth retrying. Returns true for terminal errors that won't get better on
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}