@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 +134 -19
- package/index.esm.js +133 -20
- package/package.json +3 -3
- package/src/client.d.ts +7 -3
- package/src/client.d.ts.map +1 -1
- package/src/types.d.ts +38 -2
- package/src/types.d.ts.map +1 -1
- package/src/utils.d.ts +17 -1
- package/src/utils.d.ts.map +1 -1
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
|
-
|
|
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
|
-
//
|
|
4171
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
//
|
|
4172
|
-
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
/**
|
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/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
|
-
|
|
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;
|
package/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../packages/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB,EAAE,kBAAkB,CAAC;IAC9C,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;
|
|
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
|
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;AAexE,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,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;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"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"}
|