@dynamic-labs-wallet/browser 1.0.47 → 1.0.48
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 +276 -28
- package/index.esm.js +276 -28
- package/package.json +3 -3
- package/src/backup/providers/googleDrive.d.ts.map +1 -1
- package/src/client.d.ts +39 -3
- package/src/client.d.ts.map +1 -1
- package/src/errors.d.ts +4 -0
- package/src/errors.d.ts.map +1 -1
package/index.cjs
CHANGED
|
@@ -399,6 +399,13 @@ class EnvironmentIdMismatchError extends Error {
|
|
|
399
399
|
this.actual = args.actual;
|
|
400
400
|
}
|
|
401
401
|
}
|
|
402
|
+
class WalletNotActiveError extends Error {
|
|
403
|
+
constructor(walletId){
|
|
404
|
+
super(`[DynamicWaasWalletClient]: wallet not active after backup activation (walletId: "${walletId}").`);
|
|
405
|
+
this.name = 'WalletNotActiveError';
|
|
406
|
+
this.walletId = walletId;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
402
409
|
class EncryptionSelfTestFailedError extends Error {
|
|
403
410
|
constructor(args){
|
|
404
411
|
super(`[DynamicWaasWalletClient]: backup aborted.`);
|
|
@@ -895,7 +902,16 @@ const listFilesFromGoogleDrive = async ({ accessToken, fileName })=>{
|
|
|
895
902
|
headers: {
|
|
896
903
|
Authorization: `Bearer ${accessToken}`
|
|
897
904
|
}
|
|
905
|
+
}).catch(()=>{
|
|
906
|
+
throw createGoogleDriveError(NETWORK_ERROR);
|
|
898
907
|
});
|
|
908
|
+
if (!resp.ok) {
|
|
909
|
+
// Distinguish a real API error (401/403/500/...) from "no such file". An
|
|
910
|
+
// error body has no `files`, so without this the recovery path would read
|
|
911
|
+
// it as "no file exists".
|
|
912
|
+
const body = await parseGoogleDriveErrorBody(resp);
|
|
913
|
+
throw createGoogleDriveError(mapGoogleDriveUploadError(resp.status, body));
|
|
914
|
+
}
|
|
899
915
|
const data = await resp.json();
|
|
900
916
|
// If no files found, return null
|
|
901
917
|
if (!data.files || data.files.length === 0) {
|
|
@@ -2779,31 +2795,106 @@ class DynamicWalletClient {
|
|
|
2779
2795
|
};
|
|
2780
2796
|
}
|
|
2781
2797
|
}
|
|
2782
|
-
async serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, onError, onCeremonyComplete }) {
|
|
2783
|
-
// Initialize keygen, create room, and create the wallet account on the server
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
+
async serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext, onError, onCeremonyComplete }) {
|
|
2799
|
+
// Initialize keygen, create room, and create the wallet account on the server.
|
|
2800
|
+
// HTTP transport (flag on + idempotency key present) uses a single JSON
|
|
2801
|
+
// request/response; the legacy SSE path streams ceremony events.
|
|
2802
|
+
const useHttpTransport = this.featureFlags[core.FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
2803
|
+
let data;
|
|
2804
|
+
if (useHttpTransport) {
|
|
2805
|
+
data = await this.apiClient.requestWalletCreationJson({
|
|
2806
|
+
chainName,
|
|
2807
|
+
clientKeygenIds,
|
|
2808
|
+
dynamicRequestId,
|
|
2809
|
+
thresholdSignatureScheme,
|
|
2810
|
+
bitcoinConfig,
|
|
2811
|
+
businessAccountId,
|
|
2812
|
+
idempotencyKey,
|
|
2813
|
+
traceContext,
|
|
2814
|
+
timeoutMs: 3000
|
|
2815
|
+
});
|
|
2816
|
+
} else {
|
|
2817
|
+
data = await this.apiClient.createWalletAccount({
|
|
2818
|
+
chainName,
|
|
2819
|
+
clientKeygenIds,
|
|
2820
|
+
dynamicRequestId,
|
|
2821
|
+
thresholdSignatureScheme,
|
|
2822
|
+
bitcoinConfig,
|
|
2823
|
+
businessAccountId,
|
|
2824
|
+
onError,
|
|
2825
|
+
onCeremonyComplete,
|
|
2826
|
+
// Diagnostic only: surfaces SSE delivery lag (e.g. buffering proxies
|
|
2827
|
+
// holding keygen_complete until the server's timeout closes the stream,
|
|
2828
|
+
// which strands the user without a wallet). Does not abort the request.
|
|
2829
|
+
onSlowDelivery: (meta)=>{
|
|
2830
|
+
this.logger.debug('[SseWatchdog] keygen_complete not received within watchdog window', _extends({}, meta, {
|
|
2831
|
+
chainName,
|
|
2832
|
+
dynamicRequestId,
|
|
2833
|
+
key: 'sseWatchdog',
|
|
2834
|
+
operation: 'createWalletAccount'
|
|
2835
|
+
}));
|
|
2836
|
+
}
|
|
2837
|
+
});
|
|
2838
|
+
}
|
|
2839
|
+
this.logger.debug(`[DynamicWaasWalletClient] Initialized client key generation with IDs: ${clientKeygenIds.join(', ')} for chain: ${chainName} using scheme: ${thresholdSignatureScheme}`);
|
|
2840
|
+
return data;
|
|
2841
|
+
}
|
|
2842
|
+
/**
|
|
2843
|
+
* HTTP transport only. After the relay keygen, re-issue the JSON `/create`
|
|
2844
|
+
* request (same idempotency key) until the async server ceremony reports the
|
|
2845
|
+
* wallet. The server's `completed` dedup branch returns walletId +
|
|
2846
|
+
* accountAddress + shareSetId — the payload the SSE `ceremony_complete` event
|
|
2847
|
+
* carried — once the worker finishes; until then it echoes only the room and
|
|
2848
|
+
* we keep polling. This stands in for the completion signal HTTP mode never
|
|
2849
|
+
* streams. Idempotency makes each poll a safe no-op server-side.
|
|
2850
|
+
*/ async pollHttpCeremonyCompletion({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext }) {
|
|
2851
|
+
const POLL_INTERVAL_MS = 1000;
|
|
2852
|
+
const POLL_TIMEOUT_MS = 30000;
|
|
2853
|
+
const deadline = Date.now() + POLL_TIMEOUT_MS;
|
|
2854
|
+
while(Date.now() < deadline){
|
|
2855
|
+
try {
|
|
2856
|
+
const data = await this.apiClient.requestWalletCreationJson({
|
|
2798
2857
|
chainName,
|
|
2858
|
+
clientKeygenIds,
|
|
2799
2859
|
dynamicRequestId,
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2860
|
+
thresholdSignatureScheme,
|
|
2861
|
+
bitcoinConfig,
|
|
2862
|
+
businessAccountId,
|
|
2863
|
+
idempotencyKey,
|
|
2864
|
+
traceContext,
|
|
2865
|
+
timeoutMs: 5000,
|
|
2866
|
+
// Read-only: a poll must never claim a new attempt or enqueue a worker,
|
|
2867
|
+
// otherwise a slow ceremony could be re-driven into a second wallet.
|
|
2868
|
+
poll: true
|
|
2869
|
+
});
|
|
2870
|
+
if (data.walletId && data.accountAddress) {
|
|
2871
|
+
return {
|
|
2872
|
+
accountAddress: data.accountAddress,
|
|
2873
|
+
walletId: data.walletId,
|
|
2874
|
+
shareSetId: data.shareSetId
|
|
2875
|
+
};
|
|
2876
|
+
}
|
|
2877
|
+
} catch (error) {
|
|
2878
|
+
var _error_response;
|
|
2879
|
+
var _error_response_status;
|
|
2880
|
+
// Non-transient failures (4xx) won't resolve on retry — surface
|
|
2881
|
+
// immediately so the caller gets an actionable error instead of a
|
|
2882
|
+
// generic timeout after 30 s of pointless polling.
|
|
2883
|
+
const status = (_error_response_status = error == null ? void 0 : (_error_response = error.response) == null ? void 0 : _error_response.status) != null ? _error_response_status : error == null ? void 0 : error.status;
|
|
2884
|
+
if (status !== undefined && status >= 400 && status < 500 && status !== 429) {
|
|
2885
|
+
throw error;
|
|
2886
|
+
}
|
|
2887
|
+
// Transient failures (502, timeout) should not abort the entire keygen —
|
|
2888
|
+
// just retry the cheap poll until the deadline.
|
|
2889
|
+
this.logger.debug('[pollHttpCeremonyCompletion] transient poll error, retrying', {
|
|
2890
|
+
error: error.message,
|
|
2891
|
+
dynamicRequestId,
|
|
2892
|
+
chainName
|
|
2893
|
+
});
|
|
2803
2894
|
}
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2895
|
+
await new Promise((resolve)=>setTimeout(resolve, POLL_INTERVAL_MS));
|
|
2896
|
+
}
|
|
2897
|
+
throw new Error('Timed out waiting for wallet creation ceremony to complete');
|
|
2807
2898
|
}
|
|
2808
2899
|
async clientInitializeKeyGen({ chainName, thresholdSignatureScheme, bitcoinConfig }) {
|
|
2809
2900
|
// Get the mpc signer
|
|
@@ -3025,6 +3116,10 @@ class DynamicWalletClient {
|
|
|
3025
3116
|
}
|
|
3026
3117
|
async runKeyGenAttempt({ chainName, thresholdSignatureScheme, bitcoinConfig, businessAccountId, onCeremonyComplete, traceContext, password, signedSessionId }) {
|
|
3027
3118
|
const dynamicRequestId = uuid.v4();
|
|
3119
|
+
// Fresh per attempt so each retry gets a new server room with matching
|
|
3120
|
+
// clientKeygenIds. A stale key would return the cached (tainted) room
|
|
3121
|
+
// from a previous attempt whose clientKeygenIds no longer match.
|
|
3122
|
+
const idempotencyKey = uuid.v4();
|
|
3028
3123
|
try {
|
|
3029
3124
|
this.assertPasswordRequired(password);
|
|
3030
3125
|
await this.validatePasswordConsistencyForNewWallet({
|
|
@@ -3054,6 +3149,8 @@ class DynamicWalletClient {
|
|
|
3054
3149
|
thresholdSignatureScheme,
|
|
3055
3150
|
bitcoinConfig,
|
|
3056
3151
|
businessAccountId,
|
|
3152
|
+
idempotencyKey,
|
|
3153
|
+
traceContext,
|
|
3057
3154
|
onCeremonyComplete
|
|
3058
3155
|
});
|
|
3059
3156
|
this.logger.info('[DynamicWaasWalletClient] Server key generation initialized', _extends({
|
|
@@ -3069,6 +3166,7 @@ class DynamicWalletClient {
|
|
|
3069
3166
|
approxSseTransitMs: Date.now() - emittedAtMs
|
|
3070
3167
|
} : {}, this.getTraceContext(traceContext)));
|
|
3071
3168
|
const clientKeyGenStartedAt = Date.now();
|
|
3169
|
+
let refreshRoomInvoked = false;
|
|
3072
3170
|
const { rawPublicKey, clientKeygenResults: clientKeyShares, operationSource } = await this.clientKeyGen({
|
|
3073
3171
|
chainName,
|
|
3074
3172
|
roomId,
|
|
@@ -3079,16 +3177,22 @@ class DynamicWalletClient {
|
|
|
3079
3177
|
dynamicRequestId,
|
|
3080
3178
|
traceContext,
|
|
3081
3179
|
// On forward-MPC fallback, re-init the server keygen so a brand-new
|
|
3082
|
-
// server-joined room is created for the relay ceremony.
|
|
3083
|
-
|
|
3180
|
+
// server-joined room is created for the relay ceremony. Omit
|
|
3181
|
+
// idempotencyKey so the server creates a fresh room instead of
|
|
3182
|
+
// returning the cached (tainted) one from the initial attempt.
|
|
3183
|
+
refreshRoom: ()=>{
|
|
3184
|
+
refreshRoomInvoked = true;
|
|
3185
|
+
return this.serverInitializeKeyGen({
|
|
3084
3186
|
chainName,
|
|
3085
3187
|
clientKeygenIds,
|
|
3086
3188
|
dynamicRequestId,
|
|
3087
3189
|
thresholdSignatureScheme,
|
|
3088
3190
|
bitcoinConfig,
|
|
3089
3191
|
businessAccountId,
|
|
3192
|
+
traceContext,
|
|
3090
3193
|
onCeremonyComplete
|
|
3091
|
-
})
|
|
3194
|
+
});
|
|
3195
|
+
}
|
|
3092
3196
|
});
|
|
3093
3197
|
this.logger.info('[DynamicWaasWalletClient] Client key generation completed', _extends({
|
|
3094
3198
|
roomId,
|
|
@@ -3104,6 +3208,24 @@ class DynamicWalletClient {
|
|
|
3104
3208
|
dynamicRequestId,
|
|
3105
3209
|
durationMs: Date.now() - clientKeyGenStartedAt
|
|
3106
3210
|
}, this.getTraceContext(traceContext)));
|
|
3211
|
+
// HTTP transport doesn't stream `ceremony_complete`, so poll `/create`
|
|
3212
|
+
// (same idempotency key) after the relay keygen until the server reports
|
|
3213
|
+
// the wallet, then fire onCeremonyComplete manually.
|
|
3214
|
+
// Skip when refreshRoom was invoked: the SSE fallback already delivered
|
|
3215
|
+
// onCeremonyComplete via the event stream.
|
|
3216
|
+
if (this.featureFlags[core.FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && idempotencyKey && onCeremonyComplete && !refreshRoomInvoked) {
|
|
3217
|
+
const completion = await this.pollHttpCeremonyCompletion({
|
|
3218
|
+
chainName,
|
|
3219
|
+
clientKeygenIds,
|
|
3220
|
+
dynamicRequestId,
|
|
3221
|
+
thresholdSignatureScheme,
|
|
3222
|
+
bitcoinConfig,
|
|
3223
|
+
businessAccountId,
|
|
3224
|
+
idempotencyKey,
|
|
3225
|
+
traceContext
|
|
3226
|
+
});
|
|
3227
|
+
onCeremonyComplete(completion.accountAddress, completion.walletId, completion.shareSetId);
|
|
3228
|
+
}
|
|
3107
3229
|
return {
|
|
3108
3230
|
rawPublicKey,
|
|
3109
3231
|
clientKeyShares
|
|
@@ -6113,7 +6235,8 @@ class DynamicWalletClient {
|
|
|
6113
6235
|
// Step 2: Activate server shares. No refresh path here: this endpoint doesn't use
|
|
6114
6236
|
// the signed session, and its 400 is a server-side share-state mismatch a retry
|
|
6115
6237
|
// won't fix.
|
|
6116
|
-
const backupData = await retryPromise(()=>
|
|
6238
|
+
const backupData = await retryPromise(async ()=>{
|
|
6239
|
+
const result = await this.apiClient.markKeySharesAsBackedUp({
|
|
6117
6240
|
walletId: walletData.walletId,
|
|
6118
6241
|
// Same routing rule as publishDelegatedShare above: when this
|
|
6119
6242
|
// ceremony minted a separate `delegated` share set, the atomic
|
|
@@ -6123,9 +6246,24 @@ class DynamicWalletClient {
|
|
|
6123
6246
|
dynamicRequestId,
|
|
6124
6247
|
passwordUpdateBatchId,
|
|
6125
6248
|
businessAccountId
|
|
6126
|
-
})
|
|
6249
|
+
});
|
|
6250
|
+
// HTTP-transport activates the wallet asynchronously; walletActive
|
|
6251
|
+
// can briefly lag. Throw so retryPromise re-polls before surfacing.
|
|
6252
|
+
// Guard on `=== false` (not `!== true`) because refresh/reshare/
|
|
6253
|
+
// password-update flows return undefined for walletActive and must
|
|
6254
|
+
// pass through without spurious retries. DYNT-816
|
|
6255
|
+
if (this.featureFlags[core.FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && result.walletActive === false) {
|
|
6256
|
+
throw new WalletNotActiveError(walletData.walletId);
|
|
6257
|
+
}
|
|
6258
|
+
return result;
|
|
6259
|
+
}, {
|
|
6127
6260
|
operationName: BACKUP_OPERATION.MarkBackedUp,
|
|
6261
|
+
retryInterval: 250,
|
|
6128
6262
|
shouldRetry: (error)=>{
|
|
6263
|
+
// Transient HTTP-transport activation lag — re-poll the backup.
|
|
6264
|
+
if (error instanceof WalletNotActiveError) {
|
|
6265
|
+
return true;
|
|
6266
|
+
}
|
|
6129
6267
|
const status = getHttpStatus(error);
|
|
6130
6268
|
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
6131
6269
|
return status === undefined || status === 429 || status >= 500;
|
|
@@ -6931,7 +7069,8 @@ class DynamicWalletClient {
|
|
|
6931
7069
|
/**
|
|
6932
7070
|
* Internal helper method that handles the complete flow for ensuring wallet key shares are backed up to a cloud provider.
|
|
6933
7071
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to cloud)
|
|
6934
|
-
* - For 2-of-3 wallets:
|
|
7072
|
+
* - For non-delegated 2-of-3 wallets: same-scheme reshare to mint a fresh recovery share
|
|
7073
|
+
* - For delegated 2-of-3 (and other) wallets: storeEncryptedBackupByWallet backs up to backend and cloud
|
|
6935
7074
|
*/ async backupKeySharesToCloudProvider({ accountAddress, password, signedSessionId, sessionPublicKey, backupLocation, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
6936
7075
|
try {
|
|
6937
7076
|
await this.getWallet({
|
|
@@ -6958,6 +7097,16 @@ class DynamicWalletClient {
|
|
|
6958
7097
|
googleDriveAccessToken,
|
|
6959
7098
|
googleDriveTokenSource
|
|
6960
7099
|
});
|
|
7100
|
+
} else if (currentThresholdSignatureScheme === core.ThresholdSignatureScheme.TWO_OF_THREE && !hasDelegatedBackup(walletData.clientKeySharesBackupInfo, walletData.otherShareSets)) {
|
|
7101
|
+
await this.reshareNonDelegatedTwoOfThree({
|
|
7102
|
+
accountAddress,
|
|
7103
|
+
backupLocation,
|
|
7104
|
+
password,
|
|
7105
|
+
signedSessionId,
|
|
7106
|
+
sessionPublicKey,
|
|
7107
|
+
googleDriveAccessToken,
|
|
7108
|
+
googleDriveTokenSource
|
|
7109
|
+
});
|
|
6961
7110
|
} else {
|
|
6962
7111
|
await this.storeEncryptedBackupByWallet({
|
|
6963
7112
|
accountAddress,
|
|
@@ -6984,6 +7133,105 @@ class DynamicWalletClient {
|
|
|
6984
7133
|
}
|
|
6985
7134
|
}
|
|
6986
7135
|
/**
|
|
7136
|
+
* Self-heal a non-delegated 2-of-3 wallet's cloud backup via a same-scheme
|
|
7137
|
+
* reshare that mints a fresh recovery share. The fresh share is redistributed to
|
|
7138
|
+
* every provider already holding a backup plus the requested one,
|
|
7139
|
+
* restricted to providers the reshare can deliver to.
|
|
7140
|
+
*/ async reshareNonDelegatedTwoOfThree({ accountAddress, backupLocation, password, signedSessionId, sessionPublicKey, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
7141
|
+
const walletData = this.getWalletFromMap(accountAddress);
|
|
7142
|
+
const cloudProviders = new Set([
|
|
7143
|
+
...getActiveCloudProviders(walletData.clientKeySharesBackupInfo).filter((provider)=>provider === core.BackupLocation.GOOGLE_DRIVE || provider === core.BackupLocation.ICLOUD),
|
|
7144
|
+
backupLocation
|
|
7145
|
+
]);
|
|
7146
|
+
await this.validateICloudForReshare({
|
|
7147
|
+
accountAddress,
|
|
7148
|
+
backupLocation,
|
|
7149
|
+
cloudProviders
|
|
7150
|
+
});
|
|
7151
|
+
const resolvedDrive = await this.resolveGoogleDriveTokenForReshare({
|
|
7152
|
+
accountAddress,
|
|
7153
|
+
backupLocation,
|
|
7154
|
+
cloudProviders,
|
|
7155
|
+
googleDriveAccessToken,
|
|
7156
|
+
googleDriveTokenSource
|
|
7157
|
+
});
|
|
7158
|
+
this.logger.info('[DynamicWaasWalletClient] Non-delegated 2-of-3 re-backup: same-scheme reshare to mint a fresh recovery share', {
|
|
7159
|
+
accountAddress,
|
|
7160
|
+
environmentId: this.environmentId,
|
|
7161
|
+
userId: this.userId,
|
|
7162
|
+
backupLocation,
|
|
7163
|
+
cloudProviders: Array.from(cloudProviders)
|
|
7164
|
+
});
|
|
7165
|
+
await this.reshare({
|
|
7166
|
+
chainName: walletData.chainName,
|
|
7167
|
+
accountAddress,
|
|
7168
|
+
oldThresholdSignatureScheme: walletData.thresholdSignatureScheme,
|
|
7169
|
+
newThresholdSignatureScheme: walletData.thresholdSignatureScheme,
|
|
7170
|
+
password,
|
|
7171
|
+
signedSessionId,
|
|
7172
|
+
sessionPublicKey,
|
|
7173
|
+
cloudProviders: Array.from(cloudProviders),
|
|
7174
|
+
googleDriveAccessToken: resolvedDrive.googleDriveAccessToken,
|
|
7175
|
+
googleDriveTokenSource: resolvedDrive.googleDriveTokenSource
|
|
7176
|
+
});
|
|
7177
|
+
}
|
|
7178
|
+
/**
|
|
7179
|
+
* Validate iCloud for reshare: drop it from the provider set if CloudKit
|
|
7180
|
+
* isn't authenticated. Only applies when iCloud arrived via the union (not
|
|
7181
|
+
* the explicit request). A mid-ceremony upload failure wipes local shares,
|
|
7182
|
+
* so the check must happen before the share set is retired.
|
|
7183
|
+
*/ async validateICloudForReshare({ accountAddress, backupLocation, cloudProviders }) {
|
|
7184
|
+
if (!cloudProviders.has(core.BackupLocation.ICLOUD) || backupLocation === core.BackupLocation.ICLOUD) {
|
|
7185
|
+
return;
|
|
7186
|
+
}
|
|
7187
|
+
const iCloudReady = await isICloudAuthenticated();
|
|
7188
|
+
if (!iCloudReady) {
|
|
7189
|
+
this.logger.warn('[DynamicWaasWalletClient] Reshare skipping iCloud redistribution: CloudKit not authenticated', {
|
|
7190
|
+
accountAddress,
|
|
7191
|
+
environmentId: this.environmentId,
|
|
7192
|
+
userId: this.userId,
|
|
7193
|
+
backupLocation
|
|
7194
|
+
});
|
|
7195
|
+
cloudProviders.delete(core.BackupLocation.ICLOUD);
|
|
7196
|
+
}
|
|
7197
|
+
}
|
|
7198
|
+
/**
|
|
7199
|
+
* Validate Google Drive for reshare: resolve and probe the access token, then
|
|
7200
|
+
* drop Drive from the provider set if no usable token exists. A mid-ceremony
|
|
7201
|
+
* upload failure wipes local shares, so the check must happen before the
|
|
7202
|
+
* share set is retired.
|
|
7203
|
+
*/ async resolveGoogleDriveTokenForReshare({ accountAddress, backupLocation, cloudProviders, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
7204
|
+
if (!cloudProviders.has(core.BackupLocation.GOOGLE_DRIVE) || googleDriveAccessToken !== undefined) {
|
|
7205
|
+
return {
|
|
7206
|
+
googleDriveAccessToken,
|
|
7207
|
+
googleDriveTokenSource
|
|
7208
|
+
};
|
|
7209
|
+
}
|
|
7210
|
+
try {
|
|
7211
|
+
const token = await this.fetchGoogleDriveAccessToken(accountAddress);
|
|
7212
|
+
const { blocking } = await runGoogleDriveBackupPreflight(token);
|
|
7213
|
+
if (blocking) {
|
|
7214
|
+
throw new Error(blocking.message);
|
|
7215
|
+
}
|
|
7216
|
+
return {
|
|
7217
|
+
googleDriveAccessToken: token,
|
|
7218
|
+
googleDriveTokenSource: 'stored_oauth'
|
|
7219
|
+
};
|
|
7220
|
+
} catch (e) {
|
|
7221
|
+
this.logger.warn('[DynamicWaasWalletClient] Reshare skipping Google Drive redistribution: no usable Drive token', {
|
|
7222
|
+
accountAddress,
|
|
7223
|
+
environmentId: this.environmentId,
|
|
7224
|
+
userId: this.userId,
|
|
7225
|
+
backupLocation
|
|
7226
|
+
});
|
|
7227
|
+
cloudProviders.delete(core.BackupLocation.GOOGLE_DRIVE);
|
|
7228
|
+
return {
|
|
7229
|
+
googleDriveAccessToken: undefined,
|
|
7230
|
+
googleDriveTokenSource: undefined
|
|
7231
|
+
};
|
|
7232
|
+
}
|
|
7233
|
+
}
|
|
7234
|
+
/**
|
|
6987
7235
|
* This method handles the complete flow for ensuring wallet key shares are backed up to Google Drive:
|
|
6988
7236
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to Google Drive)
|
|
6989
7237
|
* - For 2-of-3 wallets: Call storeEncryptedBackupByWallet to backup for backend and Google Drive
|
package/index.esm.js
CHANGED
|
@@ -400,6 +400,13 @@ class EnvironmentIdMismatchError extends Error {
|
|
|
400
400
|
this.actual = args.actual;
|
|
401
401
|
}
|
|
402
402
|
}
|
|
403
|
+
class WalletNotActiveError extends Error {
|
|
404
|
+
constructor(walletId){
|
|
405
|
+
super(`[DynamicWaasWalletClient]: wallet not active after backup activation (walletId: "${walletId}").`);
|
|
406
|
+
this.name = 'WalletNotActiveError';
|
|
407
|
+
this.walletId = walletId;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
403
410
|
class EncryptionSelfTestFailedError extends Error {
|
|
404
411
|
constructor(args){
|
|
405
412
|
super(`[DynamicWaasWalletClient]: backup aborted.`);
|
|
@@ -896,7 +903,16 @@ const listFilesFromGoogleDrive = async ({ accessToken, fileName })=>{
|
|
|
896
903
|
headers: {
|
|
897
904
|
Authorization: `Bearer ${accessToken}`
|
|
898
905
|
}
|
|
906
|
+
}).catch(()=>{
|
|
907
|
+
throw createGoogleDriveError(NETWORK_ERROR);
|
|
899
908
|
});
|
|
909
|
+
if (!resp.ok) {
|
|
910
|
+
// Distinguish a real API error (401/403/500/...) from "no such file". An
|
|
911
|
+
// error body has no `files`, so without this the recovery path would read
|
|
912
|
+
// it as "no file exists".
|
|
913
|
+
const body = await parseGoogleDriveErrorBody(resp);
|
|
914
|
+
throw createGoogleDriveError(mapGoogleDriveUploadError(resp.status, body));
|
|
915
|
+
}
|
|
900
916
|
const data = await resp.json();
|
|
901
917
|
// If no files found, return null
|
|
902
918
|
if (!data.files || data.files.length === 0) {
|
|
@@ -2780,31 +2796,106 @@ class DynamicWalletClient {
|
|
|
2780
2796
|
};
|
|
2781
2797
|
}
|
|
2782
2798
|
}
|
|
2783
|
-
async serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, onError, onCeremonyComplete }) {
|
|
2784
|
-
// Initialize keygen, create room, and create the wallet account on the server
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
+
async serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext, onError, onCeremonyComplete }) {
|
|
2800
|
+
// Initialize keygen, create room, and create the wallet account on the server.
|
|
2801
|
+
// HTTP transport (flag on + idempotency key present) uses a single JSON
|
|
2802
|
+
// request/response; the legacy SSE path streams ceremony events.
|
|
2803
|
+
const useHttpTransport = this.featureFlags[FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && !!idempotencyKey;
|
|
2804
|
+
let data;
|
|
2805
|
+
if (useHttpTransport) {
|
|
2806
|
+
data = await this.apiClient.requestWalletCreationJson({
|
|
2807
|
+
chainName,
|
|
2808
|
+
clientKeygenIds,
|
|
2809
|
+
dynamicRequestId,
|
|
2810
|
+
thresholdSignatureScheme,
|
|
2811
|
+
bitcoinConfig,
|
|
2812
|
+
businessAccountId,
|
|
2813
|
+
idempotencyKey,
|
|
2814
|
+
traceContext,
|
|
2815
|
+
timeoutMs: 3000
|
|
2816
|
+
});
|
|
2817
|
+
} else {
|
|
2818
|
+
data = await this.apiClient.createWalletAccount({
|
|
2819
|
+
chainName,
|
|
2820
|
+
clientKeygenIds,
|
|
2821
|
+
dynamicRequestId,
|
|
2822
|
+
thresholdSignatureScheme,
|
|
2823
|
+
bitcoinConfig,
|
|
2824
|
+
businessAccountId,
|
|
2825
|
+
onError,
|
|
2826
|
+
onCeremonyComplete,
|
|
2827
|
+
// Diagnostic only: surfaces SSE delivery lag (e.g. buffering proxies
|
|
2828
|
+
// holding keygen_complete until the server's timeout closes the stream,
|
|
2829
|
+
// which strands the user without a wallet). Does not abort the request.
|
|
2830
|
+
onSlowDelivery: (meta)=>{
|
|
2831
|
+
this.logger.debug('[SseWatchdog] keygen_complete not received within watchdog window', _extends({}, meta, {
|
|
2832
|
+
chainName,
|
|
2833
|
+
dynamicRequestId,
|
|
2834
|
+
key: 'sseWatchdog',
|
|
2835
|
+
operation: 'createWalletAccount'
|
|
2836
|
+
}));
|
|
2837
|
+
}
|
|
2838
|
+
});
|
|
2839
|
+
}
|
|
2840
|
+
this.logger.debug(`[DynamicWaasWalletClient] Initialized client key generation with IDs: ${clientKeygenIds.join(', ')} for chain: ${chainName} using scheme: ${thresholdSignatureScheme}`);
|
|
2841
|
+
return data;
|
|
2842
|
+
}
|
|
2843
|
+
/**
|
|
2844
|
+
* HTTP transport only. After the relay keygen, re-issue the JSON `/create`
|
|
2845
|
+
* request (same idempotency key) until the async server ceremony reports the
|
|
2846
|
+
* wallet. The server's `completed` dedup branch returns walletId +
|
|
2847
|
+
* accountAddress + shareSetId — the payload the SSE `ceremony_complete` event
|
|
2848
|
+
* carried — once the worker finishes; until then it echoes only the room and
|
|
2849
|
+
* we keep polling. This stands in for the completion signal HTTP mode never
|
|
2850
|
+
* streams. Idempotency makes each poll a safe no-op server-side.
|
|
2851
|
+
*/ async pollHttpCeremonyCompletion({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext }) {
|
|
2852
|
+
const POLL_INTERVAL_MS = 1000;
|
|
2853
|
+
const POLL_TIMEOUT_MS = 30000;
|
|
2854
|
+
const deadline = Date.now() + POLL_TIMEOUT_MS;
|
|
2855
|
+
while(Date.now() < deadline){
|
|
2856
|
+
try {
|
|
2857
|
+
const data = await this.apiClient.requestWalletCreationJson({
|
|
2799
2858
|
chainName,
|
|
2859
|
+
clientKeygenIds,
|
|
2800
2860
|
dynamicRequestId,
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2861
|
+
thresholdSignatureScheme,
|
|
2862
|
+
bitcoinConfig,
|
|
2863
|
+
businessAccountId,
|
|
2864
|
+
idempotencyKey,
|
|
2865
|
+
traceContext,
|
|
2866
|
+
timeoutMs: 5000,
|
|
2867
|
+
// Read-only: a poll must never claim a new attempt or enqueue a worker,
|
|
2868
|
+
// otherwise a slow ceremony could be re-driven into a second wallet.
|
|
2869
|
+
poll: true
|
|
2870
|
+
});
|
|
2871
|
+
if (data.walletId && data.accountAddress) {
|
|
2872
|
+
return {
|
|
2873
|
+
accountAddress: data.accountAddress,
|
|
2874
|
+
walletId: data.walletId,
|
|
2875
|
+
shareSetId: data.shareSetId
|
|
2876
|
+
};
|
|
2877
|
+
}
|
|
2878
|
+
} catch (error) {
|
|
2879
|
+
var _error_response;
|
|
2880
|
+
var _error_response_status;
|
|
2881
|
+
// Non-transient failures (4xx) won't resolve on retry — surface
|
|
2882
|
+
// immediately so the caller gets an actionable error instead of a
|
|
2883
|
+
// generic timeout after 30 s of pointless polling.
|
|
2884
|
+
const status = (_error_response_status = error == null ? void 0 : (_error_response = error.response) == null ? void 0 : _error_response.status) != null ? _error_response_status : error == null ? void 0 : error.status;
|
|
2885
|
+
if (status !== undefined && status >= 400 && status < 500 && status !== 429) {
|
|
2886
|
+
throw error;
|
|
2887
|
+
}
|
|
2888
|
+
// Transient failures (502, timeout) should not abort the entire keygen —
|
|
2889
|
+
// just retry the cheap poll until the deadline.
|
|
2890
|
+
this.logger.debug('[pollHttpCeremonyCompletion] transient poll error, retrying', {
|
|
2891
|
+
error: error.message,
|
|
2892
|
+
dynamicRequestId,
|
|
2893
|
+
chainName
|
|
2894
|
+
});
|
|
2804
2895
|
}
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2896
|
+
await new Promise((resolve)=>setTimeout(resolve, POLL_INTERVAL_MS));
|
|
2897
|
+
}
|
|
2898
|
+
throw new Error('Timed out waiting for wallet creation ceremony to complete');
|
|
2808
2899
|
}
|
|
2809
2900
|
async clientInitializeKeyGen({ chainName, thresholdSignatureScheme, bitcoinConfig }) {
|
|
2810
2901
|
// Get the mpc signer
|
|
@@ -3026,6 +3117,10 @@ class DynamicWalletClient {
|
|
|
3026
3117
|
}
|
|
3027
3118
|
async runKeyGenAttempt({ chainName, thresholdSignatureScheme, bitcoinConfig, businessAccountId, onCeremonyComplete, traceContext, password, signedSessionId }) {
|
|
3028
3119
|
const dynamicRequestId = v4();
|
|
3120
|
+
// Fresh per attempt so each retry gets a new server room with matching
|
|
3121
|
+
// clientKeygenIds. A stale key would return the cached (tainted) room
|
|
3122
|
+
// from a previous attempt whose clientKeygenIds no longer match.
|
|
3123
|
+
const idempotencyKey = v4();
|
|
3029
3124
|
try {
|
|
3030
3125
|
this.assertPasswordRequired(password);
|
|
3031
3126
|
await this.validatePasswordConsistencyForNewWallet({
|
|
@@ -3055,6 +3150,8 @@ class DynamicWalletClient {
|
|
|
3055
3150
|
thresholdSignatureScheme,
|
|
3056
3151
|
bitcoinConfig,
|
|
3057
3152
|
businessAccountId,
|
|
3153
|
+
idempotencyKey,
|
|
3154
|
+
traceContext,
|
|
3058
3155
|
onCeremonyComplete
|
|
3059
3156
|
});
|
|
3060
3157
|
this.logger.info('[DynamicWaasWalletClient] Server key generation initialized', _extends({
|
|
@@ -3070,6 +3167,7 @@ class DynamicWalletClient {
|
|
|
3070
3167
|
approxSseTransitMs: Date.now() - emittedAtMs
|
|
3071
3168
|
} : {}, this.getTraceContext(traceContext)));
|
|
3072
3169
|
const clientKeyGenStartedAt = Date.now();
|
|
3170
|
+
let refreshRoomInvoked = false;
|
|
3073
3171
|
const { rawPublicKey, clientKeygenResults: clientKeyShares, operationSource } = await this.clientKeyGen({
|
|
3074
3172
|
chainName,
|
|
3075
3173
|
roomId,
|
|
@@ -3080,16 +3178,22 @@ class DynamicWalletClient {
|
|
|
3080
3178
|
dynamicRequestId,
|
|
3081
3179
|
traceContext,
|
|
3082
3180
|
// On forward-MPC fallback, re-init the server keygen so a brand-new
|
|
3083
|
-
// server-joined room is created for the relay ceremony.
|
|
3084
|
-
|
|
3181
|
+
// server-joined room is created for the relay ceremony. Omit
|
|
3182
|
+
// idempotencyKey so the server creates a fresh room instead of
|
|
3183
|
+
// returning the cached (tainted) one from the initial attempt.
|
|
3184
|
+
refreshRoom: ()=>{
|
|
3185
|
+
refreshRoomInvoked = true;
|
|
3186
|
+
return this.serverInitializeKeyGen({
|
|
3085
3187
|
chainName,
|
|
3086
3188
|
clientKeygenIds,
|
|
3087
3189
|
dynamicRequestId,
|
|
3088
3190
|
thresholdSignatureScheme,
|
|
3089
3191
|
bitcoinConfig,
|
|
3090
3192
|
businessAccountId,
|
|
3193
|
+
traceContext,
|
|
3091
3194
|
onCeremonyComplete
|
|
3092
|
-
})
|
|
3195
|
+
});
|
|
3196
|
+
}
|
|
3093
3197
|
});
|
|
3094
3198
|
this.logger.info('[DynamicWaasWalletClient] Client key generation completed', _extends({
|
|
3095
3199
|
roomId,
|
|
@@ -3105,6 +3209,24 @@ class DynamicWalletClient {
|
|
|
3105
3209
|
dynamicRequestId,
|
|
3106
3210
|
durationMs: Date.now() - clientKeyGenStartedAt
|
|
3107
3211
|
}, this.getTraceContext(traceContext)));
|
|
3212
|
+
// HTTP transport doesn't stream `ceremony_complete`, so poll `/create`
|
|
3213
|
+
// (same idempotency key) after the relay keygen until the server reports
|
|
3214
|
+
// the wallet, then fire onCeremonyComplete manually.
|
|
3215
|
+
// Skip when refreshRoom was invoked: the SSE fallback already delivered
|
|
3216
|
+
// onCeremonyComplete via the event stream.
|
|
3217
|
+
if (this.featureFlags[FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && idempotencyKey && onCeremonyComplete && !refreshRoomInvoked) {
|
|
3218
|
+
const completion = await this.pollHttpCeremonyCompletion({
|
|
3219
|
+
chainName,
|
|
3220
|
+
clientKeygenIds,
|
|
3221
|
+
dynamicRequestId,
|
|
3222
|
+
thresholdSignatureScheme,
|
|
3223
|
+
bitcoinConfig,
|
|
3224
|
+
businessAccountId,
|
|
3225
|
+
idempotencyKey,
|
|
3226
|
+
traceContext
|
|
3227
|
+
});
|
|
3228
|
+
onCeremonyComplete(completion.accountAddress, completion.walletId, completion.shareSetId);
|
|
3229
|
+
}
|
|
3108
3230
|
return {
|
|
3109
3231
|
rawPublicKey,
|
|
3110
3232
|
clientKeyShares
|
|
@@ -6114,7 +6236,8 @@ class DynamicWalletClient {
|
|
|
6114
6236
|
// Step 2: Activate server shares. No refresh path here: this endpoint doesn't use
|
|
6115
6237
|
// the signed session, and its 400 is a server-side share-state mismatch a retry
|
|
6116
6238
|
// won't fix.
|
|
6117
|
-
const backupData = await retryPromise(()=>
|
|
6239
|
+
const backupData = await retryPromise(async ()=>{
|
|
6240
|
+
const result = await this.apiClient.markKeySharesAsBackedUp({
|
|
6118
6241
|
walletId: walletData.walletId,
|
|
6119
6242
|
// Same routing rule as publishDelegatedShare above: when this
|
|
6120
6243
|
// ceremony minted a separate `delegated` share set, the atomic
|
|
@@ -6124,9 +6247,24 @@ class DynamicWalletClient {
|
|
|
6124
6247
|
dynamicRequestId,
|
|
6125
6248
|
passwordUpdateBatchId,
|
|
6126
6249
|
businessAccountId
|
|
6127
|
-
})
|
|
6250
|
+
});
|
|
6251
|
+
// HTTP-transport activates the wallet asynchronously; walletActive
|
|
6252
|
+
// can briefly lag. Throw so retryPromise re-polls before surfacing.
|
|
6253
|
+
// Guard on `=== false` (not `!== true`) because refresh/reshare/
|
|
6254
|
+
// password-update flows return undefined for walletActive and must
|
|
6255
|
+
// pass through without spurious retries. DYNT-816
|
|
6256
|
+
if (this.featureFlags[FEATURE_FLAGS.ENABLE_HTTP_WAAS_TRANSPORT] === true && result.walletActive === false) {
|
|
6257
|
+
throw new WalletNotActiveError(walletData.walletId);
|
|
6258
|
+
}
|
|
6259
|
+
return result;
|
|
6260
|
+
}, {
|
|
6128
6261
|
operationName: BACKUP_OPERATION.MarkBackedUp,
|
|
6262
|
+
retryInterval: 250,
|
|
6129
6263
|
shouldRetry: (error)=>{
|
|
6264
|
+
// Transient HTTP-transport activation lag — re-poll the backup.
|
|
6265
|
+
if (error instanceof WalletNotActiveError) {
|
|
6266
|
+
return true;
|
|
6267
|
+
}
|
|
6130
6268
|
const status = getHttpStatus(error);
|
|
6131
6269
|
// 429 (rate limit) is the textbook back-off-and-retry status.
|
|
6132
6270
|
return status === undefined || status === 429 || status >= 500;
|
|
@@ -6932,7 +7070,8 @@ class DynamicWalletClient {
|
|
|
6932
7070
|
/**
|
|
6933
7071
|
* Internal helper method that handles the complete flow for ensuring wallet key shares are backed up to a cloud provider.
|
|
6934
7072
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to cloud)
|
|
6935
|
-
* - For 2-of-3 wallets:
|
|
7073
|
+
* - For non-delegated 2-of-3 wallets: same-scheme reshare to mint a fresh recovery share
|
|
7074
|
+
* - For delegated 2-of-3 (and other) wallets: storeEncryptedBackupByWallet backs up to backend and cloud
|
|
6936
7075
|
*/ async backupKeySharesToCloudProvider({ accountAddress, password, signedSessionId, sessionPublicKey, backupLocation, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
6937
7076
|
try {
|
|
6938
7077
|
await this.getWallet({
|
|
@@ -6959,6 +7098,16 @@ class DynamicWalletClient {
|
|
|
6959
7098
|
googleDriveAccessToken,
|
|
6960
7099
|
googleDriveTokenSource
|
|
6961
7100
|
});
|
|
7101
|
+
} else if (currentThresholdSignatureScheme === ThresholdSignatureScheme.TWO_OF_THREE && !hasDelegatedBackup(walletData.clientKeySharesBackupInfo, walletData.otherShareSets)) {
|
|
7102
|
+
await this.reshareNonDelegatedTwoOfThree({
|
|
7103
|
+
accountAddress,
|
|
7104
|
+
backupLocation,
|
|
7105
|
+
password,
|
|
7106
|
+
signedSessionId,
|
|
7107
|
+
sessionPublicKey,
|
|
7108
|
+
googleDriveAccessToken,
|
|
7109
|
+
googleDriveTokenSource
|
|
7110
|
+
});
|
|
6962
7111
|
} else {
|
|
6963
7112
|
await this.storeEncryptedBackupByWallet({
|
|
6964
7113
|
accountAddress,
|
|
@@ -6985,6 +7134,105 @@ class DynamicWalletClient {
|
|
|
6985
7134
|
}
|
|
6986
7135
|
}
|
|
6987
7136
|
/**
|
|
7137
|
+
* Self-heal a non-delegated 2-of-3 wallet's cloud backup via a same-scheme
|
|
7138
|
+
* reshare that mints a fresh recovery share. The fresh share is redistributed to
|
|
7139
|
+
* every provider already holding a backup plus the requested one,
|
|
7140
|
+
* restricted to providers the reshare can deliver to.
|
|
7141
|
+
*/ async reshareNonDelegatedTwoOfThree({ accountAddress, backupLocation, password, signedSessionId, sessionPublicKey, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
7142
|
+
const walletData = this.getWalletFromMap(accountAddress);
|
|
7143
|
+
const cloudProviders = new Set([
|
|
7144
|
+
...getActiveCloudProviders(walletData.clientKeySharesBackupInfo).filter((provider)=>provider === BackupLocation.GOOGLE_DRIVE || provider === BackupLocation.ICLOUD),
|
|
7145
|
+
backupLocation
|
|
7146
|
+
]);
|
|
7147
|
+
await this.validateICloudForReshare({
|
|
7148
|
+
accountAddress,
|
|
7149
|
+
backupLocation,
|
|
7150
|
+
cloudProviders
|
|
7151
|
+
});
|
|
7152
|
+
const resolvedDrive = await this.resolveGoogleDriveTokenForReshare({
|
|
7153
|
+
accountAddress,
|
|
7154
|
+
backupLocation,
|
|
7155
|
+
cloudProviders,
|
|
7156
|
+
googleDriveAccessToken,
|
|
7157
|
+
googleDriveTokenSource
|
|
7158
|
+
});
|
|
7159
|
+
this.logger.info('[DynamicWaasWalletClient] Non-delegated 2-of-3 re-backup: same-scheme reshare to mint a fresh recovery share', {
|
|
7160
|
+
accountAddress,
|
|
7161
|
+
environmentId: this.environmentId,
|
|
7162
|
+
userId: this.userId,
|
|
7163
|
+
backupLocation,
|
|
7164
|
+
cloudProviders: Array.from(cloudProviders)
|
|
7165
|
+
});
|
|
7166
|
+
await this.reshare({
|
|
7167
|
+
chainName: walletData.chainName,
|
|
7168
|
+
accountAddress,
|
|
7169
|
+
oldThresholdSignatureScheme: walletData.thresholdSignatureScheme,
|
|
7170
|
+
newThresholdSignatureScheme: walletData.thresholdSignatureScheme,
|
|
7171
|
+
password,
|
|
7172
|
+
signedSessionId,
|
|
7173
|
+
sessionPublicKey,
|
|
7174
|
+
cloudProviders: Array.from(cloudProviders),
|
|
7175
|
+
googleDriveAccessToken: resolvedDrive.googleDriveAccessToken,
|
|
7176
|
+
googleDriveTokenSource: resolvedDrive.googleDriveTokenSource
|
|
7177
|
+
});
|
|
7178
|
+
}
|
|
7179
|
+
/**
|
|
7180
|
+
* Validate iCloud for reshare: drop it from the provider set if CloudKit
|
|
7181
|
+
* isn't authenticated. Only applies when iCloud arrived via the union (not
|
|
7182
|
+
* the explicit request). A mid-ceremony upload failure wipes local shares,
|
|
7183
|
+
* so the check must happen before the share set is retired.
|
|
7184
|
+
*/ async validateICloudForReshare({ accountAddress, backupLocation, cloudProviders }) {
|
|
7185
|
+
if (!cloudProviders.has(BackupLocation.ICLOUD) || backupLocation === BackupLocation.ICLOUD) {
|
|
7186
|
+
return;
|
|
7187
|
+
}
|
|
7188
|
+
const iCloudReady = await isICloudAuthenticated();
|
|
7189
|
+
if (!iCloudReady) {
|
|
7190
|
+
this.logger.warn('[DynamicWaasWalletClient] Reshare skipping iCloud redistribution: CloudKit not authenticated', {
|
|
7191
|
+
accountAddress,
|
|
7192
|
+
environmentId: this.environmentId,
|
|
7193
|
+
userId: this.userId,
|
|
7194
|
+
backupLocation
|
|
7195
|
+
});
|
|
7196
|
+
cloudProviders.delete(BackupLocation.ICLOUD);
|
|
7197
|
+
}
|
|
7198
|
+
}
|
|
7199
|
+
/**
|
|
7200
|
+
* Validate Google Drive for reshare: resolve and probe the access token, then
|
|
7201
|
+
* drop Drive from the provider set if no usable token exists. A mid-ceremony
|
|
7202
|
+
* upload failure wipes local shares, so the check must happen before the
|
|
7203
|
+
* share set is retired.
|
|
7204
|
+
*/ async resolveGoogleDriveTokenForReshare({ accountAddress, backupLocation, cloudProviders, googleDriveAccessToken, googleDriveTokenSource }) {
|
|
7205
|
+
if (!cloudProviders.has(BackupLocation.GOOGLE_DRIVE) || googleDriveAccessToken !== undefined) {
|
|
7206
|
+
return {
|
|
7207
|
+
googleDriveAccessToken,
|
|
7208
|
+
googleDriveTokenSource
|
|
7209
|
+
};
|
|
7210
|
+
}
|
|
7211
|
+
try {
|
|
7212
|
+
const token = await this.fetchGoogleDriveAccessToken(accountAddress);
|
|
7213
|
+
const { blocking } = await runGoogleDriveBackupPreflight(token);
|
|
7214
|
+
if (blocking) {
|
|
7215
|
+
throw new Error(blocking.message);
|
|
7216
|
+
}
|
|
7217
|
+
return {
|
|
7218
|
+
googleDriveAccessToken: token,
|
|
7219
|
+
googleDriveTokenSource: 'stored_oauth'
|
|
7220
|
+
};
|
|
7221
|
+
} catch (e) {
|
|
7222
|
+
this.logger.warn('[DynamicWaasWalletClient] Reshare skipping Google Drive redistribution: no usable Drive token', {
|
|
7223
|
+
accountAddress,
|
|
7224
|
+
environmentId: this.environmentId,
|
|
7225
|
+
userId: this.userId,
|
|
7226
|
+
backupLocation
|
|
7227
|
+
});
|
|
7228
|
+
cloudProviders.delete(BackupLocation.GOOGLE_DRIVE);
|
|
7229
|
+
return {
|
|
7230
|
+
googleDriveAccessToken: undefined,
|
|
7231
|
+
googleDriveTokenSource: undefined
|
|
7232
|
+
};
|
|
7233
|
+
}
|
|
7234
|
+
}
|
|
7235
|
+
/**
|
|
6988
7236
|
* This method handles the complete flow for ensuring wallet key shares are backed up to Google Drive:
|
|
6989
7237
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to Google Drive)
|
|
6990
7238
|
* - For 2-of-3 wallets: Call storeEncryptedBackupByWallet to backup for backend and Google Drive
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.48",
|
|
4
4
|
"license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dynamic-labs-wallet/core": "1.0.
|
|
7
|
+
"@dynamic-labs-wallet/core": "1.0.48",
|
|
8
8
|
"@dynamic-labs-wallet/forward-mpc-client": "0.12.0",
|
|
9
|
-
"@dynamic-labs-wallet/primitives": "1.0.
|
|
9
|
+
"@dynamic-labs-wallet/primitives": "1.0.48",
|
|
10
10
|
"@dynamic-labs/sdk-api-core": "^0.0.984",
|
|
11
11
|
"argon2id": "1.0.1",
|
|
12
12
|
"axios": "1.16.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"googleDrive.d.ts","sourceRoot":"","sources":["../../../src/backup/providers/googleDrive.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mCAAmC,0GAGtC,CAAC;AAeX,KAAK,oBAAoB,GAAG;IAC1B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtD,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4BAA4B,GACpC,aAAa,GACb,cAAc,GACd,cAAc,GACd,qBAAqB,GACrB,SAAS,GACT,SAAS,CAAC;AAYd;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,WAAY,4BAA4B,KAAG,OAC/D,CAAC;AAEtC,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,4BAA4B,CAAC;CAC3C,CAAC;AAkBF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,QAAQ,oBAAoB,GAAG,IAAI,KAAG,iBAkDjG,CAAC;AAUF,eAAO,MAAM,sBAAsB,WAAY,iBAAiB,KAAG,KAQlE,CAAC;AAiDF,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE,4BAA4B,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B,CAAC;AAYF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,gBAC3B,MAAM,KAClB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,+BAA+B,CAAA;CAAE,CAaxD,CAAC;AAEF,eAAO,MAAM,iCAAiC,yCAI3C;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAOA,CAAC;AAEF,eAAO,MAAM,+BAA+B,yCAIzC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAOA,CAAC;AA0FF,eAAO,MAAM,wBAAwB,+BAGlC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,
|
|
1
|
+
{"version":3,"file":"googleDrive.d.ts","sourceRoot":"","sources":["../../../src/backup/providers/googleDrive.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,mCAAmC,0GAGtC,CAAC;AAeX,KAAK,oBAAoB,GAAG;IAC1B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACtD,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4BAA4B,GACpC,aAAa,GACb,cAAc,GACd,cAAc,GACd,qBAAqB,GACrB,SAAS,GACT,SAAS,CAAC;AAYd;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C,WAAY,4BAA4B,KAAG,OAC/D,CAAC;AAEtC,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,4BAA4B,CAAC;CAC3C,CAAC;AAkBF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,QAAQ,oBAAoB,GAAG,IAAI,KAAG,iBAkDjG,CAAC;AAUF,eAAO,MAAM,sBAAsB,WAAY,iBAAiB,KAAG,KAQlE,CAAC;AAiDF,KAAK,+BAA+B,GAAG;IACrC,WAAW,EAAE,4BAA4B,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B,CAAC;AAYF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B,gBAC3B,MAAM,KAClB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,+BAA+B,CAAA;CAAE,CAaxD,CAAC;AAEF,eAAO,MAAM,iCAAiC,yCAI3C;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAOA,CAAC;AAEF,eAAO,MAAM,+BAA+B,yCAIzC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAOA,CAAC;AA0FF,eAAO,MAAM,wBAAwB,+BAGlC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,iBAiCA,CAAC;AAEF,eAAO,MAAM,2BAA2B,+BAGrC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CA6BzB,CAAC"}
|
package/src/client.d.ts
CHANGED
|
@@ -153,16 +153,28 @@ export declare class DynamicWalletClient {
|
|
|
153
153
|
* Client initialization logic
|
|
154
154
|
*/
|
|
155
155
|
protected _initialize(traceContext?: TraceContext): Promise<InitializeResult>;
|
|
156
|
-
serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, onError, onCeremonyComplete, }: {
|
|
156
|
+
serverInitializeKeyGen({ chainName, clientKeygenIds, dynamicRequestId, thresholdSignatureScheme, bitcoinConfig, businessAccountId, idempotencyKey, traceContext, onError, onCeremonyComplete, }: {
|
|
157
157
|
chainName: string;
|
|
158
158
|
clientKeygenIds: string[];
|
|
159
159
|
dynamicRequestId: string;
|
|
160
160
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
161
161
|
bitcoinConfig?: BitcoinConfig;
|
|
162
162
|
businessAccountId?: string;
|
|
163
|
+
idempotencyKey?: string;
|
|
164
|
+
traceContext?: TraceContext;
|
|
163
165
|
onError?: (error: Error) => void;
|
|
164
166
|
onCeremonyComplete?: (accountAddress: string, walletId: string, shareSetId?: string) => void;
|
|
165
167
|
}): Promise<import("@dynamic-labs-wallet/core").KeygenCompleteResponse>;
|
|
168
|
+
/**
|
|
169
|
+
* HTTP transport only. After the relay keygen, re-issue the JSON `/create`
|
|
170
|
+
* request (same idempotency key) until the async server ceremony reports the
|
|
171
|
+
* wallet. The server's `completed` dedup branch returns walletId +
|
|
172
|
+
* accountAddress + shareSetId — the payload the SSE `ceremony_complete` event
|
|
173
|
+
* carried — once the worker finishes; until then it echoes only the room and
|
|
174
|
+
* we keep polling. This stands in for the completion signal HTTP mode never
|
|
175
|
+
* streams. Idempotency makes each poll a safe no-op server-side.
|
|
176
|
+
*/
|
|
177
|
+
private pollHttpCeremonyCompletion;
|
|
166
178
|
clientInitializeKeyGen({ chainName, thresholdSignatureScheme, bitcoinConfig, }: {
|
|
167
179
|
chainName: string;
|
|
168
180
|
thresholdSignatureScheme: ThresholdSignatureScheme;
|
|
@@ -234,7 +246,7 @@ export declare class DynamicWalletClient {
|
|
|
234
246
|
bitcoinConfig?: BitcoinConfig;
|
|
235
247
|
businessAccountId?: string;
|
|
236
248
|
onError?: (error: Error) => void;
|
|
237
|
-
onCeremonyComplete?: (accountAddress: string, walletId: string) => void;
|
|
249
|
+
onCeremonyComplete?: (accountAddress: string, walletId: string, shareSetId?: string) => void;
|
|
238
250
|
traceContext?: TraceContext;
|
|
239
251
|
password?: string;
|
|
240
252
|
signedSessionId: string;
|
|
@@ -599,6 +611,7 @@ export declare class DynamicWalletClient {
|
|
|
599
611
|
}): Promise<{
|
|
600
612
|
message: string;
|
|
601
613
|
walletId: string;
|
|
614
|
+
walletActive?: boolean;
|
|
602
615
|
passwordUpdateStatus?: "pending" | "activated";
|
|
603
616
|
locationsWithKeyShares: {
|
|
604
617
|
location: BackupLocation;
|
|
@@ -658,6 +671,7 @@ export declare class DynamicWalletClient {
|
|
|
658
671
|
keygenIds: string[];
|
|
659
672
|
message: string;
|
|
660
673
|
walletId: string;
|
|
674
|
+
walletActive?: boolean;
|
|
661
675
|
passwordUpdateStatus?: "pending" | "activated";
|
|
662
676
|
locationsWithKeyShares: {
|
|
663
677
|
location: BackupLocation;
|
|
@@ -770,9 +784,31 @@ export declare class DynamicWalletClient {
|
|
|
770
784
|
/**
|
|
771
785
|
* Internal helper method that handles the complete flow for ensuring wallet key shares are backed up to a cloud provider.
|
|
772
786
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to cloud)
|
|
773
|
-
* - For 2-of-3 wallets:
|
|
787
|
+
* - For non-delegated 2-of-3 wallets: same-scheme reshare to mint a fresh recovery share
|
|
788
|
+
* - For delegated 2-of-3 (and other) wallets: storeEncryptedBackupByWallet backs up to backend and cloud
|
|
774
789
|
*/
|
|
775
790
|
private backupKeySharesToCloudProvider;
|
|
791
|
+
/**
|
|
792
|
+
* Self-heal a non-delegated 2-of-3 wallet's cloud backup via a same-scheme
|
|
793
|
+
* reshare that mints a fresh recovery share. The fresh share is redistributed to
|
|
794
|
+
* every provider already holding a backup plus the requested one,
|
|
795
|
+
* restricted to providers the reshare can deliver to.
|
|
796
|
+
*/
|
|
797
|
+
private reshareNonDelegatedTwoOfThree;
|
|
798
|
+
/**
|
|
799
|
+
* Validate iCloud for reshare: drop it from the provider set if CloudKit
|
|
800
|
+
* isn't authenticated. Only applies when iCloud arrived via the union (not
|
|
801
|
+
* the explicit request). A mid-ceremony upload failure wipes local shares,
|
|
802
|
+
* so the check must happen before the share set is retired.
|
|
803
|
+
*/
|
|
804
|
+
private validateICloudForReshare;
|
|
805
|
+
/**
|
|
806
|
+
* Validate Google Drive for reshare: resolve and probe the access token, then
|
|
807
|
+
* drop Drive from the provider set if no usable token exists. A mid-ceremony
|
|
808
|
+
* upload failure wipes local shares, so the check must happen before the
|
|
809
|
+
* share set is retired.
|
|
810
|
+
*/
|
|
811
|
+
private resolveGoogleDriveTokenForReshare;
|
|
776
812
|
/**
|
|
777
813
|
* This method handles the complete flow for ensuring wallet key shares are backed up to Google Drive:
|
|
778
814
|
* - For 2-of-2 wallets: Automatically reshares to 2-of-3 threshold, then distributes shares (1 to backend, 1 to Google Drive)
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
package/src/errors.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export declare class EnvironmentIdMismatchError extends Error {
|
|
|
11
11
|
actual: string;
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
+
export declare class WalletNotActiveError extends Error {
|
|
15
|
+
readonly walletId: string;
|
|
16
|
+
constructor(walletId: string);
|
|
17
|
+
}
|
|
14
18
|
export declare class EncryptionSelfTestFailedError extends Error {
|
|
15
19
|
readonly walletId: string | undefined;
|
|
16
20
|
readonly accountAddress: string;
|
package/src/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../packages/src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAE1C,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAE1B,aAAa,EAAE,MAAM;CAKlC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAMvD;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAS5F"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../packages/src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAE1C,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAE1B,aAAa,EAAE,MAAM;CAKlC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAMvD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAErB,QAAQ,EAAE,MAAM;CAK7B;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAS5F"}
|