@dynamic-labs-wallet/browser 0.0.248 → 0.0.249
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.js +45 -152
- package/index.esm.js +45 -152
- package/package.json +2 -2
- package/src/client.d.ts +6 -40
- package/src/client.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -1888,8 +1888,10 @@ class DynamicWalletClient {
|
|
|
1888
1888
|
operation: 'serverSign'
|
|
1889
1889
|
}, this.getTraceContext(traceContext)));
|
|
1890
1890
|
const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
|
|
1891
|
-
//
|
|
1892
|
-
const clientKeyShares = await this.
|
|
1891
|
+
// Perform the client sign and return the signature
|
|
1892
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1893
|
+
accountAddress
|
|
1894
|
+
});
|
|
1893
1895
|
const signature = await this.clientSign({
|
|
1894
1896
|
chainName,
|
|
1895
1897
|
message,
|
|
@@ -1974,14 +1976,14 @@ class DynamicWalletClient {
|
|
|
1974
1976
|
mfaToken
|
|
1975
1977
|
});
|
|
1976
1978
|
const roomId = data.roomId;
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1980
|
+
accountAddress
|
|
1981
|
+
});
|
|
1979
1982
|
const refreshResults = await Promise.all(clientKeyShares.map((clientKeyShare)=>mpcSigner.refresh(roomId, clientKeyShare)));
|
|
1980
|
-
await this.
|
|
1983
|
+
await this.setClientKeySharesToLocalStorage({
|
|
1981
1984
|
accountAddress,
|
|
1982
1985
|
clientKeyShares: refreshResults,
|
|
1983
|
-
overwriteOrMerge: 'overwrite'
|
|
1984
|
-
chainName
|
|
1986
|
+
overwriteOrMerge: 'overwrite'
|
|
1985
1987
|
});
|
|
1986
1988
|
await this.storeEncryptedBackupByWallet({
|
|
1987
1989
|
accountAddress,
|
|
@@ -2063,9 +2065,8 @@ class DynamicWalletClient {
|
|
|
2063
2065
|
}, ()=>mpcSigner.initKeygen()));
|
|
2064
2066
|
const newClientKeygenIds = newClientInitKeygenResults.map((result)=>result.keygenId);
|
|
2065
2067
|
// Get existing client shares
|
|
2066
|
-
const existingClientKeyShares = (await this.
|
|
2067
|
-
accountAddress
|
|
2068
|
-
chainName
|
|
2068
|
+
const existingClientKeyShares = (await this.getClientKeySharesFromLocalStorage({
|
|
2069
|
+
accountAddress
|
|
2069
2070
|
})).slice(0, existingClientShareCount);
|
|
2070
2071
|
const existingClientKeygenIds = await Promise.all(existingClientKeyShares.map(async (keyShare)=>await this.getExportId({
|
|
2071
2072
|
chainName,
|
|
@@ -2123,10 +2124,6 @@ class DynamicWalletClient {
|
|
|
2123
2124
|
oldThresholdSignatureScheme,
|
|
2124
2125
|
newThresholdSignatureScheme
|
|
2125
2126
|
});
|
|
2126
|
-
// Ensure existing client key shares exist before reshare
|
|
2127
|
-
if (existingClientKeyShares.length === 0) {
|
|
2128
|
-
throw new Error(`Client key shares are required for reshare operation but none were found for account address: ${accountAddress}`);
|
|
2129
|
-
}
|
|
2130
2127
|
const clientKeygenIds = [
|
|
2131
2128
|
...newClientKeygenIds,
|
|
2132
2129
|
...existingClientKeygenIds
|
|
@@ -2207,12 +2204,10 @@ class DynamicWalletClient {
|
|
|
2207
2204
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2208
2205
|
thresholdSignatureScheme: newThresholdSignatureScheme
|
|
2209
2206
|
});
|
|
2210
|
-
|
|
2211
|
-
await this.setClientKeySharesToStorage({
|
|
2207
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2212
2208
|
accountAddress,
|
|
2213
2209
|
clientKeyShares: distribution.clientShares,
|
|
2214
|
-
overwriteOrMerge: 'overwrite'
|
|
2215
|
-
chainName
|
|
2210
|
+
overwriteOrMerge: 'overwrite'
|
|
2216
2211
|
});
|
|
2217
2212
|
await this.backupSharesWithDistribution({
|
|
2218
2213
|
accountAddress,
|
|
@@ -2237,11 +2232,10 @@ class DynamicWalletClient {
|
|
|
2237
2232
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2238
2233
|
thresholdSignatureScheme: oldThresholdSignatureScheme
|
|
2239
2234
|
});
|
|
2240
|
-
await this.
|
|
2235
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2241
2236
|
accountAddress,
|
|
2242
2237
|
clientKeyShares: [],
|
|
2243
|
-
overwriteOrMerge: 'overwrite'
|
|
2244
|
-
chainName
|
|
2238
|
+
overwriteOrMerge: 'overwrite'
|
|
2245
2239
|
});
|
|
2246
2240
|
throw error;
|
|
2247
2241
|
}
|
|
@@ -2381,7 +2375,7 @@ class DynamicWalletClient {
|
|
|
2381
2375
|
}
|
|
2382
2376
|
}
|
|
2383
2377
|
async getReconstructedKeyShare(accountAddress, mpcSigner) {
|
|
2384
|
-
const clientKeyShares = await this.
|
|
2378
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
2385
2379
|
accountAddress
|
|
2386
2380
|
});
|
|
2387
2381
|
if (!clientKeyShares || clientKeyShares.length === 0) {
|
|
@@ -2439,7 +2433,6 @@ class DynamicWalletClient {
|
|
|
2439
2433
|
}
|
|
2440
2434
|
async offlineExportKey({ chainName, keyShares, derivationPath }) {
|
|
2441
2435
|
try {
|
|
2442
|
-
// Enforce share presence
|
|
2443
2436
|
if (!keyShares || keyShares.length < 2) {
|
|
2444
2437
|
throw new Error(`Must provide at least min threshold of key shares`);
|
|
2445
2438
|
}
|
|
@@ -2495,36 +2488,9 @@ class DynamicWalletClient {
|
|
|
2495
2488
|
return serializedEncryptedKeyShare;
|
|
2496
2489
|
}
|
|
2497
2490
|
/**
|
|
2498
|
-
*
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
var _this_walletMap_accountAddress, _this_storage;
|
|
2502
|
-
// Get chainName from walletMap if not provided
|
|
2503
|
-
const resolvedChainName = chainName || ((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName);
|
|
2504
|
-
if (!resolvedChainName) {
|
|
2505
|
-
this.logger.debug(`[DynamicWaasWalletClient] No chainName found for accountAddress: ${accountAddress}, falling back to localStorage lookup`);
|
|
2506
|
-
}
|
|
2507
|
-
// Use secure storage if available (mobile)
|
|
2508
|
-
if (this.secureStorage) {
|
|
2509
|
-
if (!resolvedChainName) {
|
|
2510
|
-
this.logger.warn(`[DynamicWaasWalletClient] secureStorage requires chainName but it was not provided for accountAddress: ${accountAddress}`);
|
|
2511
|
-
return [];
|
|
2512
|
-
}
|
|
2513
|
-
try {
|
|
2514
|
-
return await this.secureStorage.getClientKeyShare(resolvedChainName, accountAddress);
|
|
2515
|
-
} catch (error) {
|
|
2516
|
-
logError({
|
|
2517
|
-
message: `Error getting client key shares from secure storage for accountAddress: ${accountAddress}`,
|
|
2518
|
-
error: error,
|
|
2519
|
-
context: {
|
|
2520
|
-
accountAddress,
|
|
2521
|
-
chainName: resolvedChainName
|
|
2522
|
-
}
|
|
2523
|
-
});
|
|
2524
|
-
return [];
|
|
2525
|
-
}
|
|
2526
|
-
}
|
|
2527
|
-
// Fallback to localStorage (browser)
|
|
2491
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
2492
|
+
*/ async getClientKeySharesFromLocalStorage({ accountAddress }) {
|
|
2493
|
+
var _this_storage;
|
|
2528
2494
|
const walletObject = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(accountAddress));
|
|
2529
2495
|
if (!walletObject) {
|
|
2530
2496
|
this.logger.debug(`[DynamicWaasWalletClient] No item found in iframe local storage for accountAddress: ${accountAddress}`);
|
|
@@ -2550,67 +2516,16 @@ class DynamicWalletClient {
|
|
|
2550
2516
|
}
|
|
2551
2517
|
}
|
|
2552
2518
|
/**
|
|
2553
|
-
*
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
var _this_walletMap_accountAddress, _this_storage;
|
|
2557
|
-
// Get chainName from walletMap if not provided
|
|
2558
|
-
const resolvedChainName = chainName || ((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName);
|
|
2559
|
-
// Use secure storage if available (mobile)
|
|
2560
|
-
if (this.secureStorage) {
|
|
2561
|
-
if (!resolvedChainName) {
|
|
2562
|
-
const error = new Error(`secureStorage requires chainName but it was not provided for accountAddress: ${accountAddress}`);
|
|
2563
|
-
logError({
|
|
2564
|
-
message: error.message,
|
|
2565
|
-
error,
|
|
2566
|
-
context: {
|
|
2567
|
-
accountAddress
|
|
2568
|
-
}
|
|
2569
|
-
});
|
|
2570
|
-
throw error;
|
|
2571
|
-
}
|
|
2572
|
-
try {
|
|
2573
|
-
const sharesToStore = overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromStorage({
|
|
2574
|
-
accountAddress,
|
|
2575
|
-
chainName: resolvedChainName
|
|
2576
|
-
}), clientKeyShares);
|
|
2577
|
-
await this.secureStorage.setClientKeyShare(resolvedChainName, accountAddress, sharesToStore);
|
|
2578
|
-
return;
|
|
2579
|
-
} catch (error) {
|
|
2580
|
-
logError({
|
|
2581
|
-
message: `Error setting client key shares in secure storage for accountAddress: ${accountAddress}`,
|
|
2582
|
-
error: error,
|
|
2583
|
-
context: {
|
|
2584
|
-
accountAddress,
|
|
2585
|
-
chainName: resolvedChainName
|
|
2586
|
-
}
|
|
2587
|
-
});
|
|
2588
|
-
throw error;
|
|
2589
|
-
}
|
|
2590
|
-
}
|
|
2591
|
-
// Fallback to localStorage (browser)
|
|
2519
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
2520
|
+
*/ async setClientKeySharesToLocalStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
|
|
2521
|
+
var _this_storage;
|
|
2592
2522
|
const stringifiedClientKeyShares = JSON.stringify({
|
|
2593
|
-
clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.
|
|
2594
|
-
accountAddress
|
|
2595
|
-
chainName: resolvedChainName
|
|
2523
|
+
clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromLocalStorage({
|
|
2524
|
+
accountAddress
|
|
2596
2525
|
}), clientKeyShares)
|
|
2597
2526
|
});
|
|
2598
2527
|
await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
|
|
2599
2528
|
}
|
|
2600
|
-
/**
|
|
2601
|
-
* Ensures that client key shares exist for the given account address.
|
|
2602
|
-
* Throws an error if no shares are found.
|
|
2603
|
-
* This method enforces share presence before sensitive operations.
|
|
2604
|
-
*/ async ensureClientShare(accountAddress, chainName) {
|
|
2605
|
-
const shares = await this.getClientKeySharesFromStorage({
|
|
2606
|
-
accountAddress,
|
|
2607
|
-
chainName
|
|
2608
|
-
});
|
|
2609
|
-
if (!shares || shares.length === 0) {
|
|
2610
|
-
throw new Error(`Client key share is missing for account address: ${accountAddress}`);
|
|
2611
|
-
}
|
|
2612
|
-
return shares;
|
|
2613
|
-
}
|
|
2614
2529
|
async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
|
|
2615
2530
|
const dynamicRequestId = uuid.v4();
|
|
2616
2531
|
try {
|
|
@@ -2717,10 +2632,7 @@ class DynamicWalletClient {
|
|
|
2717
2632
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2718
2633
|
clientKeySharesBackupInfo: updatedBackupInfo
|
|
2719
2634
|
});
|
|
2720
|
-
|
|
2721
|
-
if (this.storage) {
|
|
2722
|
-
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2723
|
-
}
|
|
2635
|
+
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2724
2636
|
return backupData;
|
|
2725
2637
|
} catch (error) {
|
|
2726
2638
|
logError({
|
|
@@ -2766,7 +2678,7 @@ class DynamicWalletClient {
|
|
|
2766
2678
|
* @returns Promise with backup metadata including share locations and IDs
|
|
2767
2679
|
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined }) {
|
|
2768
2680
|
var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
|
|
2769
|
-
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.
|
|
2681
|
+
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
2770
2682
|
accountAddress
|
|
2771
2683
|
});
|
|
2772
2684
|
// Check if we should backup to cloud providers (either requested or already exists)
|
|
@@ -2949,15 +2861,12 @@ class DynamicWalletClient {
|
|
|
2949
2861
|
password: password != null ? password : this.environmentId
|
|
2950
2862
|
})));
|
|
2951
2863
|
if (storeRecoveredShares) {
|
|
2952
|
-
await this.
|
|
2864
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2953
2865
|
accountAddress,
|
|
2954
2866
|
clientKeyShares: decryptedKeyShares,
|
|
2955
2867
|
overwriteOrMerge: 'merge'
|
|
2956
2868
|
});
|
|
2957
|
-
|
|
2958
|
-
if (this.storage) {
|
|
2959
|
-
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2960
|
-
}
|
|
2869
|
+
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2961
2870
|
}
|
|
2962
2871
|
return decryptedKeyShares;
|
|
2963
2872
|
} catch (error) {
|
|
@@ -2974,12 +2883,6 @@ class DynamicWalletClient {
|
|
|
2974
2883
|
}
|
|
2975
2884
|
}
|
|
2976
2885
|
async restoreWallets() {
|
|
2977
|
-
// On mobile with secureStorage, walletMap metadata is not persisted in localStorage
|
|
2978
|
-
// Key shares are stored in secureStorage instead
|
|
2979
|
-
if (!this.storage) {
|
|
2980
|
-
// Mobile mode: walletMap will be populated from server on first getWallet call
|
|
2981
|
-
return;
|
|
2982
|
-
}
|
|
2983
2886
|
const wallets = await this.storage.getItem(this.storageKey);
|
|
2984
2887
|
if (!wallets) {
|
|
2985
2888
|
return;
|
|
@@ -3257,20 +3160,18 @@ class DynamicWalletClient {
|
|
|
3257
3160
|
}
|
|
3258
3161
|
}
|
|
3259
3162
|
async exportClientKeyshares({ accountAddress, password, signedSessionId }) {
|
|
3260
|
-
var _this_walletMap_accountAddress;
|
|
3261
3163
|
await this.verifyPassword({
|
|
3262
3164
|
accountAddress,
|
|
3263
3165
|
password,
|
|
3264
3166
|
walletOperation: core.WalletOperation.REACH_ALL_PARTIES,
|
|
3265
3167
|
signedSessionId
|
|
3266
3168
|
});
|
|
3169
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3170
|
+
accountAddress
|
|
3171
|
+
});
|
|
3267
3172
|
if (!accountAddress) {
|
|
3268
3173
|
throw new Error('Must provide an account address');
|
|
3269
3174
|
}
|
|
3270
|
-
// Get chainName from walletMap
|
|
3271
|
-
const chainName = (_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName;
|
|
3272
|
-
// Ensure client key shares exist before export
|
|
3273
|
-
const clientKeyShares = await this.ensureClientShare(accountAddress, chainName);
|
|
3274
3175
|
const derivationPath = this.walletMap[accountAddress].derivationPath;
|
|
3275
3176
|
const text = JSON.stringify({
|
|
3276
3177
|
keyShares: clientKeyShares,
|
|
@@ -3289,7 +3190,7 @@ class DynamicWalletClient {
|
|
|
3289
3190
|
walletOperation: core.WalletOperation.REACH_THRESHOLD,
|
|
3290
3191
|
signedSessionId
|
|
3291
3192
|
});
|
|
3292
|
-
return this.
|
|
3193
|
+
return this.getClientKeySharesFromLocalStorage({
|
|
3293
3194
|
accountAddress
|
|
3294
3195
|
});
|
|
3295
3196
|
}
|
|
@@ -3327,7 +3228,7 @@ class DynamicWalletClient {
|
|
|
3327
3228
|
shareCount
|
|
3328
3229
|
});
|
|
3329
3230
|
const { dynamic: requiredDynamicKeyShareIds = [] } = shares;
|
|
3330
|
-
const clientKeyShares = await this.
|
|
3231
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3331
3232
|
accountAddress
|
|
3332
3233
|
});
|
|
3333
3234
|
if (requiredDynamicKeyShareIds.length <= ((clientKeyShares == null ? void 0 : clientKeyShares.length) || 0)) {
|
|
@@ -3411,7 +3312,7 @@ class DynamicWalletClient {
|
|
|
3411
3312
|
const clientKeySharesBackupInfo = await this.getWalletClientKeyShareBackupInfo({
|
|
3412
3313
|
accountAddress
|
|
3413
3314
|
});
|
|
3414
|
-
const clientKeyShares = await this.
|
|
3315
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3415
3316
|
accountAddress
|
|
3416
3317
|
});
|
|
3417
3318
|
if (walletOperation === core.WalletOperation.REACH_ALL_PARTIES || walletOperation === core.WalletOperation.REFRESH || walletOperation === core.WalletOperation.RESHARE) {
|
|
@@ -3494,10 +3395,10 @@ class DynamicWalletClient {
|
|
|
3494
3395
|
signedSessionId,
|
|
3495
3396
|
shareCount
|
|
3496
3397
|
});
|
|
3497
|
-
const existingKeyShares = await this.
|
|
3398
|
+
const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3498
3399
|
accountAddress
|
|
3499
3400
|
});
|
|
3500
|
-
await this.
|
|
3401
|
+
await this.setClientKeySharesToLocalStorage({
|
|
3501
3402
|
accountAddress,
|
|
3502
3403
|
clientKeyShares: mergeUniqueKeyShares(existingKeyShares, decryptedKeyShares)
|
|
3503
3404
|
});
|
|
@@ -3620,8 +3521,7 @@ class DynamicWalletClient {
|
|
|
3620
3521
|
}
|
|
3621
3522
|
}
|
|
3622
3523
|
async restoreRooms() {
|
|
3623
|
-
|
|
3624
|
-
const roomData = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(`${this.storageKey}-rooms`));
|
|
3524
|
+
const roomData = await this.storage.getItem(`${this.storageKey}-rooms`);
|
|
3625
3525
|
if (!roomData) {
|
|
3626
3526
|
return {};
|
|
3627
3527
|
}
|
|
@@ -3648,9 +3548,8 @@ class DynamicWalletClient {
|
|
|
3648
3548
|
return DynamicWalletClient.rooms;
|
|
3649
3549
|
}
|
|
3650
3550
|
async setRooms(numberOfParties, rooms) {
|
|
3651
|
-
var _this_storage;
|
|
3652
3551
|
DynamicWalletClient.rooms[numberOfParties] = rooms;
|
|
3653
|
-
await
|
|
3552
|
+
await this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms));
|
|
3654
3553
|
}
|
|
3655
3554
|
getNumberOfParties(roomType, thresholdSignatureScheme) {
|
|
3656
3555
|
const MPC_SCHEME_CONFIG = core.MPC_CONFIG[thresholdSignatureScheme];
|
|
@@ -3696,7 +3595,7 @@ class DynamicWalletClient {
|
|
|
3696
3595
|
}, traceContext);
|
|
3697
3596
|
}
|
|
3698
3597
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = core.AuthMode.HEADER, authToken = undefined, backupServiceAuthToken, // Represents the version of the client SDK used by developer
|
|
3699
|
-
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }
|
|
3598
|
+
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }){
|
|
3700
3599
|
this.userId = undefined;
|
|
3701
3600
|
this.sessionId = undefined;
|
|
3702
3601
|
this.initializePromise = null;
|
|
@@ -3713,10 +3612,6 @@ class DynamicWalletClient {
|
|
|
3713
3612
|
this.authMode = authMode;
|
|
3714
3613
|
this.sdkVersion = sdkVersion;
|
|
3715
3614
|
this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
|
|
3716
|
-
// Set secure storage adapter if provided (internal use only)
|
|
3717
|
-
if (internalOptions == null ? void 0 : internalOptions.secureStorage) {
|
|
3718
|
-
this.secureStorage = internalOptions.secureStorage;
|
|
3719
|
-
}
|
|
3720
3615
|
this.apiClient = new core.DynamicApiClient({
|
|
3721
3616
|
environmentId,
|
|
3722
3617
|
authToken,
|
|
@@ -3730,14 +3625,12 @@ class DynamicWalletClient {
|
|
|
3730
3625
|
this.debug = Boolean(debug);
|
|
3731
3626
|
this.logger.setLogLevel(this.debug ? logger$1.LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
|
|
3732
3627
|
this.featureFlags = featureFlags || {};
|
|
3733
|
-
// setup storage
|
|
3734
|
-
if (
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
this.storage = memoryLocalStorageAdapter(this.memoryStorage);
|
|
3740
|
-
}
|
|
3628
|
+
// setup storage
|
|
3629
|
+
if (supportsLocalStorage()) {
|
|
3630
|
+
this.storage = localStorageAdapter;
|
|
3631
|
+
} else {
|
|
3632
|
+
this.memoryStorage = {};
|
|
3633
|
+
this.storage = memoryLocalStorageAdapter(this.memoryStorage);
|
|
3741
3634
|
}
|
|
3742
3635
|
const environment = core.getEnvironmentFromUrl(baseApiUrl);
|
|
3743
3636
|
this.iframeDomain = core.IFRAME_DOMAIN_MAP[environment];
|
package/index.esm.js
CHANGED
|
@@ -1889,8 +1889,10 @@ class DynamicWalletClient {
|
|
|
1889
1889
|
operation: 'serverSign'
|
|
1890
1890
|
}, this.getTraceContext(traceContext)));
|
|
1891
1891
|
const derivationPath = wallet.derivationPath && wallet.derivationPath != '' ? new Uint32Array(Object.values(JSON.parse(wallet.derivationPath))) : undefined;
|
|
1892
|
-
//
|
|
1893
|
-
const clientKeyShares = await this.
|
|
1892
|
+
// Perform the client sign and return the signature
|
|
1893
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1894
|
+
accountAddress
|
|
1895
|
+
});
|
|
1894
1896
|
const signature = await this.clientSign({
|
|
1895
1897
|
chainName,
|
|
1896
1898
|
message,
|
|
@@ -1975,14 +1977,14 @@ class DynamicWalletClient {
|
|
|
1975
1977
|
mfaToken
|
|
1976
1978
|
});
|
|
1977
1979
|
const roomId = data.roomId;
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1981
|
+
accountAddress
|
|
1982
|
+
});
|
|
1980
1983
|
const refreshResults = await Promise.all(clientKeyShares.map((clientKeyShare)=>mpcSigner.refresh(roomId, clientKeyShare)));
|
|
1981
|
-
await this.
|
|
1984
|
+
await this.setClientKeySharesToLocalStorage({
|
|
1982
1985
|
accountAddress,
|
|
1983
1986
|
clientKeyShares: refreshResults,
|
|
1984
|
-
overwriteOrMerge: 'overwrite'
|
|
1985
|
-
chainName
|
|
1987
|
+
overwriteOrMerge: 'overwrite'
|
|
1986
1988
|
});
|
|
1987
1989
|
await this.storeEncryptedBackupByWallet({
|
|
1988
1990
|
accountAddress,
|
|
@@ -2064,9 +2066,8 @@ class DynamicWalletClient {
|
|
|
2064
2066
|
}, ()=>mpcSigner.initKeygen()));
|
|
2065
2067
|
const newClientKeygenIds = newClientInitKeygenResults.map((result)=>result.keygenId);
|
|
2066
2068
|
// Get existing client shares
|
|
2067
|
-
const existingClientKeyShares = (await this.
|
|
2068
|
-
accountAddress
|
|
2069
|
-
chainName
|
|
2069
|
+
const existingClientKeyShares = (await this.getClientKeySharesFromLocalStorage({
|
|
2070
|
+
accountAddress
|
|
2070
2071
|
})).slice(0, existingClientShareCount);
|
|
2071
2072
|
const existingClientKeygenIds = await Promise.all(existingClientKeyShares.map(async (keyShare)=>await this.getExportId({
|
|
2072
2073
|
chainName,
|
|
@@ -2124,10 +2125,6 @@ class DynamicWalletClient {
|
|
|
2124
2125
|
oldThresholdSignatureScheme,
|
|
2125
2126
|
newThresholdSignatureScheme
|
|
2126
2127
|
});
|
|
2127
|
-
// Ensure existing client key shares exist before reshare
|
|
2128
|
-
if (existingClientKeyShares.length === 0) {
|
|
2129
|
-
throw new Error(`Client key shares are required for reshare operation but none were found for account address: ${accountAddress}`);
|
|
2130
|
-
}
|
|
2131
2128
|
const clientKeygenIds = [
|
|
2132
2129
|
...newClientKeygenIds,
|
|
2133
2130
|
...existingClientKeygenIds
|
|
@@ -2208,12 +2205,10 @@ class DynamicWalletClient {
|
|
|
2208
2205
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2209
2206
|
thresholdSignatureScheme: newThresholdSignatureScheme
|
|
2210
2207
|
});
|
|
2211
|
-
|
|
2212
|
-
await this.setClientKeySharesToStorage({
|
|
2208
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2213
2209
|
accountAddress,
|
|
2214
2210
|
clientKeyShares: distribution.clientShares,
|
|
2215
|
-
overwriteOrMerge: 'overwrite'
|
|
2216
|
-
chainName
|
|
2211
|
+
overwriteOrMerge: 'overwrite'
|
|
2217
2212
|
});
|
|
2218
2213
|
await this.backupSharesWithDistribution({
|
|
2219
2214
|
accountAddress,
|
|
@@ -2238,11 +2233,10 @@ class DynamicWalletClient {
|
|
|
2238
2233
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2239
2234
|
thresholdSignatureScheme: oldThresholdSignatureScheme
|
|
2240
2235
|
});
|
|
2241
|
-
await this.
|
|
2236
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2242
2237
|
accountAddress,
|
|
2243
2238
|
clientKeyShares: [],
|
|
2244
|
-
overwriteOrMerge: 'overwrite'
|
|
2245
|
-
chainName
|
|
2239
|
+
overwriteOrMerge: 'overwrite'
|
|
2246
2240
|
});
|
|
2247
2241
|
throw error;
|
|
2248
2242
|
}
|
|
@@ -2382,7 +2376,7 @@ class DynamicWalletClient {
|
|
|
2382
2376
|
}
|
|
2383
2377
|
}
|
|
2384
2378
|
async getReconstructedKeyShare(accountAddress, mpcSigner) {
|
|
2385
|
-
const clientKeyShares = await this.
|
|
2379
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
2386
2380
|
accountAddress
|
|
2387
2381
|
});
|
|
2388
2382
|
if (!clientKeyShares || clientKeyShares.length === 0) {
|
|
@@ -2440,7 +2434,6 @@ class DynamicWalletClient {
|
|
|
2440
2434
|
}
|
|
2441
2435
|
async offlineExportKey({ chainName, keyShares, derivationPath }) {
|
|
2442
2436
|
try {
|
|
2443
|
-
// Enforce share presence
|
|
2444
2437
|
if (!keyShares || keyShares.length < 2) {
|
|
2445
2438
|
throw new Error(`Must provide at least min threshold of key shares`);
|
|
2446
2439
|
}
|
|
@@ -2496,36 +2489,9 @@ class DynamicWalletClient {
|
|
|
2496
2489
|
return serializedEncryptedKeyShare;
|
|
2497
2490
|
}
|
|
2498
2491
|
/**
|
|
2499
|
-
*
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
var _this_walletMap_accountAddress, _this_storage;
|
|
2503
|
-
// Get chainName from walletMap if not provided
|
|
2504
|
-
const resolvedChainName = chainName || ((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName);
|
|
2505
|
-
if (!resolvedChainName) {
|
|
2506
|
-
this.logger.debug(`[DynamicWaasWalletClient] No chainName found for accountAddress: ${accountAddress}, falling back to localStorage lookup`);
|
|
2507
|
-
}
|
|
2508
|
-
// Use secure storage if available (mobile)
|
|
2509
|
-
if (this.secureStorage) {
|
|
2510
|
-
if (!resolvedChainName) {
|
|
2511
|
-
this.logger.warn(`[DynamicWaasWalletClient] secureStorage requires chainName but it was not provided for accountAddress: ${accountAddress}`);
|
|
2512
|
-
return [];
|
|
2513
|
-
}
|
|
2514
|
-
try {
|
|
2515
|
-
return await this.secureStorage.getClientKeyShare(resolvedChainName, accountAddress);
|
|
2516
|
-
} catch (error) {
|
|
2517
|
-
logError({
|
|
2518
|
-
message: `Error getting client key shares from secure storage for accountAddress: ${accountAddress}`,
|
|
2519
|
-
error: error,
|
|
2520
|
-
context: {
|
|
2521
|
-
accountAddress,
|
|
2522
|
-
chainName: resolvedChainName
|
|
2523
|
-
}
|
|
2524
|
-
});
|
|
2525
|
-
return [];
|
|
2526
|
-
}
|
|
2527
|
-
}
|
|
2528
|
-
// Fallback to localStorage (browser)
|
|
2492
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
2493
|
+
*/ async getClientKeySharesFromLocalStorage({ accountAddress }) {
|
|
2494
|
+
var _this_storage;
|
|
2529
2495
|
const walletObject = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(accountAddress));
|
|
2530
2496
|
if (!walletObject) {
|
|
2531
2497
|
this.logger.debug(`[DynamicWaasWalletClient] No item found in iframe local storage for accountAddress: ${accountAddress}`);
|
|
@@ -2551,67 +2517,16 @@ class DynamicWalletClient {
|
|
|
2551
2517
|
}
|
|
2552
2518
|
}
|
|
2553
2519
|
/**
|
|
2554
|
-
*
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
var _this_walletMap_accountAddress, _this_storage;
|
|
2558
|
-
// Get chainName from walletMap if not provided
|
|
2559
|
-
const resolvedChainName = chainName || ((_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName);
|
|
2560
|
-
// Use secure storage if available (mobile)
|
|
2561
|
-
if (this.secureStorage) {
|
|
2562
|
-
if (!resolvedChainName) {
|
|
2563
|
-
const error = new Error(`secureStorage requires chainName but it was not provided for accountAddress: ${accountAddress}`);
|
|
2564
|
-
logError({
|
|
2565
|
-
message: error.message,
|
|
2566
|
-
error,
|
|
2567
|
-
context: {
|
|
2568
|
-
accountAddress
|
|
2569
|
-
}
|
|
2570
|
-
});
|
|
2571
|
-
throw error;
|
|
2572
|
-
}
|
|
2573
|
-
try {
|
|
2574
|
-
const sharesToStore = overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromStorage({
|
|
2575
|
-
accountAddress,
|
|
2576
|
-
chainName: resolvedChainName
|
|
2577
|
-
}), clientKeyShares);
|
|
2578
|
-
await this.secureStorage.setClientKeyShare(resolvedChainName, accountAddress, sharesToStore);
|
|
2579
|
-
return;
|
|
2580
|
-
} catch (error) {
|
|
2581
|
-
logError({
|
|
2582
|
-
message: `Error setting client key shares in secure storage for accountAddress: ${accountAddress}`,
|
|
2583
|
-
error: error,
|
|
2584
|
-
context: {
|
|
2585
|
-
accountAddress,
|
|
2586
|
-
chainName: resolvedChainName
|
|
2587
|
-
}
|
|
2588
|
-
});
|
|
2589
|
-
throw error;
|
|
2590
|
-
}
|
|
2591
|
-
}
|
|
2592
|
-
// Fallback to localStorage (browser)
|
|
2520
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
2521
|
+
*/ async setClientKeySharesToLocalStorage({ accountAddress, clientKeyShares, overwriteOrMerge = 'merge' }) {
|
|
2522
|
+
var _this_storage;
|
|
2593
2523
|
const stringifiedClientKeyShares = JSON.stringify({
|
|
2594
|
-
clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.
|
|
2595
|
-
accountAddress
|
|
2596
|
-
chainName: resolvedChainName
|
|
2524
|
+
clientKeyShares: overwriteOrMerge === 'overwrite' ? clientKeyShares : mergeUniqueKeyShares(await this.getClientKeySharesFromLocalStorage({
|
|
2525
|
+
accountAddress
|
|
2597
2526
|
}), clientKeyShares)
|
|
2598
2527
|
});
|
|
2599
2528
|
await ((_this_storage = this.storage) == null ? void 0 : _this_storage.setItem(accountAddress, stringifiedClientKeyShares));
|
|
2600
2529
|
}
|
|
2601
|
-
/**
|
|
2602
|
-
* Ensures that client key shares exist for the given account address.
|
|
2603
|
-
* Throws an error if no shares are found.
|
|
2604
|
-
* This method enforces share presence before sensitive operations.
|
|
2605
|
-
*/ async ensureClientShare(accountAddress, chainName) {
|
|
2606
|
-
const shares = await this.getClientKeySharesFromStorage({
|
|
2607
|
-
accountAddress,
|
|
2608
|
-
chainName
|
|
2609
|
-
});
|
|
2610
|
-
if (!shares || shares.length === 0) {
|
|
2611
|
-
throw new Error(`Client key share is missing for account address: ${accountAddress}`);
|
|
2612
|
-
}
|
|
2613
|
-
return shares;
|
|
2614
|
-
}
|
|
2615
2530
|
async backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation = false }) {
|
|
2616
2531
|
const dynamicRequestId = v4();
|
|
2617
2532
|
try {
|
|
@@ -2718,10 +2633,7 @@ class DynamicWalletClient {
|
|
|
2718
2633
|
this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress], {
|
|
2719
2634
|
clientKeySharesBackupInfo: updatedBackupInfo
|
|
2720
2635
|
});
|
|
2721
|
-
|
|
2722
|
-
if (this.storage) {
|
|
2723
|
-
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2724
|
-
}
|
|
2636
|
+
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2725
2637
|
return backupData;
|
|
2726
2638
|
} catch (error) {
|
|
2727
2639
|
logError({
|
|
@@ -2767,7 +2679,7 @@ class DynamicWalletClient {
|
|
|
2767
2679
|
* @returns Promise with backup metadata including share locations and IDs
|
|
2768
2680
|
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId, cloudProviders = [], delegatedKeyshare = undefined }) {
|
|
2769
2681
|
var _this_walletMap_accountAddress, _this_walletMap_accountAddress1;
|
|
2770
|
-
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.
|
|
2682
|
+
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
2771
2683
|
accountAddress
|
|
2772
2684
|
});
|
|
2773
2685
|
// Check if we should backup to cloud providers (either requested or already exists)
|
|
@@ -2950,15 +2862,12 @@ class DynamicWalletClient {
|
|
|
2950
2862
|
password: password != null ? password : this.environmentId
|
|
2951
2863
|
})));
|
|
2952
2864
|
if (storeRecoveredShares) {
|
|
2953
|
-
await this.
|
|
2865
|
+
await this.setClientKeySharesToLocalStorage({
|
|
2954
2866
|
accountAddress,
|
|
2955
2867
|
clientKeyShares: decryptedKeyShares,
|
|
2956
2868
|
overwriteOrMerge: 'merge'
|
|
2957
2869
|
});
|
|
2958
|
-
|
|
2959
|
-
if (this.storage) {
|
|
2960
|
-
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2961
|
-
}
|
|
2870
|
+
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
2962
2871
|
}
|
|
2963
2872
|
return decryptedKeyShares;
|
|
2964
2873
|
} catch (error) {
|
|
@@ -2975,12 +2884,6 @@ class DynamicWalletClient {
|
|
|
2975
2884
|
}
|
|
2976
2885
|
}
|
|
2977
2886
|
async restoreWallets() {
|
|
2978
|
-
// On mobile with secureStorage, walletMap metadata is not persisted in localStorage
|
|
2979
|
-
// Key shares are stored in secureStorage instead
|
|
2980
|
-
if (!this.storage) {
|
|
2981
|
-
// Mobile mode: walletMap will be populated from server on first getWallet call
|
|
2982
|
-
return;
|
|
2983
|
-
}
|
|
2984
2887
|
const wallets = await this.storage.getItem(this.storageKey);
|
|
2985
2888
|
if (!wallets) {
|
|
2986
2889
|
return;
|
|
@@ -3258,20 +3161,18 @@ class DynamicWalletClient {
|
|
|
3258
3161
|
}
|
|
3259
3162
|
}
|
|
3260
3163
|
async exportClientKeyshares({ accountAddress, password, signedSessionId }) {
|
|
3261
|
-
var _this_walletMap_accountAddress;
|
|
3262
3164
|
await this.verifyPassword({
|
|
3263
3165
|
accountAddress,
|
|
3264
3166
|
password,
|
|
3265
3167
|
walletOperation: WalletOperation.REACH_ALL_PARTIES,
|
|
3266
3168
|
signedSessionId
|
|
3267
3169
|
});
|
|
3170
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3171
|
+
accountAddress
|
|
3172
|
+
});
|
|
3268
3173
|
if (!accountAddress) {
|
|
3269
3174
|
throw new Error('Must provide an account address');
|
|
3270
3175
|
}
|
|
3271
|
-
// Get chainName from walletMap
|
|
3272
|
-
const chainName = (_this_walletMap_accountAddress = this.walletMap[accountAddress]) == null ? void 0 : _this_walletMap_accountAddress.chainName;
|
|
3273
|
-
// Ensure client key shares exist before export
|
|
3274
|
-
const clientKeyShares = await this.ensureClientShare(accountAddress, chainName);
|
|
3275
3176
|
const derivationPath = this.walletMap[accountAddress].derivationPath;
|
|
3276
3177
|
const text = JSON.stringify({
|
|
3277
3178
|
keyShares: clientKeyShares,
|
|
@@ -3290,7 +3191,7 @@ class DynamicWalletClient {
|
|
|
3290
3191
|
walletOperation: WalletOperation.REACH_THRESHOLD,
|
|
3291
3192
|
signedSessionId
|
|
3292
3193
|
});
|
|
3293
|
-
return this.
|
|
3194
|
+
return this.getClientKeySharesFromLocalStorage({
|
|
3294
3195
|
accountAddress
|
|
3295
3196
|
});
|
|
3296
3197
|
}
|
|
@@ -3328,7 +3229,7 @@ class DynamicWalletClient {
|
|
|
3328
3229
|
shareCount
|
|
3329
3230
|
});
|
|
3330
3231
|
const { dynamic: requiredDynamicKeyShareIds = [] } = shares;
|
|
3331
|
-
const clientKeyShares = await this.
|
|
3232
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3332
3233
|
accountAddress
|
|
3333
3234
|
});
|
|
3334
3235
|
if (requiredDynamicKeyShareIds.length <= ((clientKeyShares == null ? void 0 : clientKeyShares.length) || 0)) {
|
|
@@ -3412,7 +3313,7 @@ class DynamicWalletClient {
|
|
|
3412
3313
|
const clientKeySharesBackupInfo = await this.getWalletClientKeyShareBackupInfo({
|
|
3413
3314
|
accountAddress
|
|
3414
3315
|
});
|
|
3415
|
-
const clientKeyShares = await this.
|
|
3316
|
+
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3416
3317
|
accountAddress
|
|
3417
3318
|
});
|
|
3418
3319
|
if (walletOperation === WalletOperation.REACH_ALL_PARTIES || walletOperation === WalletOperation.REFRESH || walletOperation === WalletOperation.RESHARE) {
|
|
@@ -3495,10 +3396,10 @@ class DynamicWalletClient {
|
|
|
3495
3396
|
signedSessionId,
|
|
3496
3397
|
shareCount
|
|
3497
3398
|
});
|
|
3498
|
-
const existingKeyShares = await this.
|
|
3399
|
+
const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
3499
3400
|
accountAddress
|
|
3500
3401
|
});
|
|
3501
|
-
await this.
|
|
3402
|
+
await this.setClientKeySharesToLocalStorage({
|
|
3502
3403
|
accountAddress,
|
|
3503
3404
|
clientKeyShares: mergeUniqueKeyShares(existingKeyShares, decryptedKeyShares)
|
|
3504
3405
|
});
|
|
@@ -3621,8 +3522,7 @@ class DynamicWalletClient {
|
|
|
3621
3522
|
}
|
|
3622
3523
|
}
|
|
3623
3524
|
async restoreRooms() {
|
|
3624
|
-
|
|
3625
|
-
const roomData = await ((_this_storage = this.storage) == null ? void 0 : _this_storage.getItem(`${this.storageKey}-rooms`));
|
|
3525
|
+
const roomData = await this.storage.getItem(`${this.storageKey}-rooms`);
|
|
3626
3526
|
if (!roomData) {
|
|
3627
3527
|
return {};
|
|
3628
3528
|
}
|
|
@@ -3649,9 +3549,8 @@ class DynamicWalletClient {
|
|
|
3649
3549
|
return DynamicWalletClient.rooms;
|
|
3650
3550
|
}
|
|
3651
3551
|
async setRooms(numberOfParties, rooms) {
|
|
3652
|
-
var _this_storage;
|
|
3653
3552
|
DynamicWalletClient.rooms[numberOfParties] = rooms;
|
|
3654
|
-
await
|
|
3553
|
+
await this.storage.setItem(`${this.storageKey}-rooms`, JSON.stringify(DynamicWalletClient.rooms));
|
|
3655
3554
|
}
|
|
3656
3555
|
getNumberOfParties(roomType, thresholdSignatureScheme) {
|
|
3657
3556
|
const MPC_SCHEME_CONFIG = MPC_CONFIG[thresholdSignatureScheme];
|
|
@@ -3697,7 +3596,7 @@ class DynamicWalletClient {
|
|
|
3697
3596
|
}, traceContext);
|
|
3698
3597
|
}
|
|
3699
3598
|
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode = AuthMode.HEADER, authToken = undefined, backupServiceAuthToken, // Represents the version of the client SDK used by developer
|
|
3700
|
-
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }
|
|
3599
|
+
sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig }){
|
|
3701
3600
|
this.userId = undefined;
|
|
3702
3601
|
this.sessionId = undefined;
|
|
3703
3602
|
this.initializePromise = null;
|
|
@@ -3714,10 +3613,6 @@ class DynamicWalletClient {
|
|
|
3714
3613
|
this.authMode = authMode;
|
|
3715
3614
|
this.sdkVersion = sdkVersion;
|
|
3716
3615
|
this.baseClientKeysharesRelayApiUrl = baseClientKeysharesRelayApiUrl;
|
|
3717
|
-
// Set secure storage adapter if provided (internal use only)
|
|
3718
|
-
if (internalOptions == null ? void 0 : internalOptions.secureStorage) {
|
|
3719
|
-
this.secureStorage = internalOptions.secureStorage;
|
|
3720
|
-
}
|
|
3721
3616
|
this.apiClient = new DynamicApiClient({
|
|
3722
3617
|
environmentId,
|
|
3723
3618
|
authToken,
|
|
@@ -3731,14 +3626,12 @@ class DynamicWalletClient {
|
|
|
3731
3626
|
this.debug = Boolean(debug);
|
|
3732
3627
|
this.logger.setLogLevel(this.debug ? LogLevel.DEBUG : DEFAULT_LOG_LEVEL);
|
|
3733
3628
|
this.featureFlags = featureFlags || {};
|
|
3734
|
-
// setup storage
|
|
3735
|
-
if (
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
this.storage = memoryLocalStorageAdapter(this.memoryStorage);
|
|
3741
|
-
}
|
|
3629
|
+
// setup storage
|
|
3630
|
+
if (supportsLocalStorage()) {
|
|
3631
|
+
this.storage = localStorageAdapter;
|
|
3632
|
+
} else {
|
|
3633
|
+
this.memoryStorage = {};
|
|
3634
|
+
this.storage = memoryLocalStorageAdapter(this.memoryStorage);
|
|
3742
3635
|
}
|
|
3743
3636
|
const environment = getEnvironmentFromUrl(baseApiUrl);
|
|
3744
3637
|
this.iframeDomain = IFRAME_DOMAIN_MAP[environment];
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.249",
|
|
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.249",
|
|
8
8
|
"@dynamic-labs/logger": "^4.25.3",
|
|
9
9
|
"@dynamic-labs/sdk-api-core": "^0.0.828",
|
|
10
10
|
"argon2id": "1.0.1",
|
package/src/client.d.ts
CHANGED
|
@@ -5,24 +5,6 @@ import { RoomTypeEnum, type SignMessageContext } from '@dynamic-labs/sdk-api-cor
|
|
|
5
5
|
import type { ClientInitKeygenResult, ClientKeyShare } from './mpc/types.js';
|
|
6
6
|
import { type SupportedStorage } from './services/localStorage.js';
|
|
7
7
|
import { type Room, type ShareDistribution, type WalletBusyOperation, type WalletProperties } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Internal secure storage adapter interface for mobile TEE-backed storage.
|
|
10
|
-
* This is NOT part of the public API and should only be injected by internal React Native integration.
|
|
11
|
-
*
|
|
12
|
-
* Note: chainName is required to avoid storage collisions between different chains
|
|
13
|
-
* that might use the same address format (e.g., EVM and SVM both use hex addresses).
|
|
14
|
-
*/
|
|
15
|
-
export interface SecureStorageAdapter {
|
|
16
|
-
getClientKeyShare(chainName: string, accountAddress: string): Promise<ClientKeyShare[]>;
|
|
17
|
-
setClientKeyShare(chainName: string, accountAddress: string, shares: ClientKeyShare[]): Promise<void>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Internal options for DynamicWalletClient constructor.
|
|
21
|
-
* This is NOT part of the public API.
|
|
22
|
-
*/
|
|
23
|
-
export interface DynamicWalletClientInternalOptions {
|
|
24
|
-
secureStorage?: SecureStorageAdapter;
|
|
25
|
-
}
|
|
26
8
|
export declare class DynamicWalletClient {
|
|
27
9
|
environmentId: string;
|
|
28
10
|
storageKey: string;
|
|
@@ -33,7 +15,7 @@ export declare class DynamicWalletClient {
|
|
|
33
15
|
protected logger: import("@dynamic-labs/logger").Logger;
|
|
34
16
|
protected apiClient: DynamicApiClient;
|
|
35
17
|
protected walletMap: Record<string, WalletProperties>;
|
|
36
|
-
protected storage: SupportedStorage
|
|
18
|
+
protected storage: SupportedStorage;
|
|
37
19
|
protected memoryStorage: {
|
|
38
20
|
[key: string]: string;
|
|
39
21
|
} | null;
|
|
@@ -50,13 +32,7 @@ export declare class DynamicWalletClient {
|
|
|
50
32
|
protected static roomsInitializing: Record<number, boolean>;
|
|
51
33
|
protected static walletBusyMap: Record<string, WalletBusyOperation | undefined>;
|
|
52
34
|
protected static walletBusyPromiseMap: Record<string, Promise<void> | undefined>;
|
|
53
|
-
|
|
54
|
-
* Internal secure storage adapter for mobile TEE-backed storage.
|
|
55
|
-
* When set, all key share operations use this instead of localStorage.
|
|
56
|
-
* This is NOT part of the public API.
|
|
57
|
-
*/
|
|
58
|
-
private readonly secureStorage?;
|
|
59
|
-
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode, authToken, backupServiceAuthToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig, }: DynamicWalletClientProps, internalOptions?: DynamicWalletClientInternalOptions);
|
|
35
|
+
constructor({ environmentId, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, featureFlags, authMode, authToken, backupServiceAuthToken, sdkVersion, forwardMPCClient, baseClientKeysharesRelayApiUrl, iCloudConfig, }: DynamicWalletClientProps);
|
|
60
36
|
private initializeForwardMPCClient;
|
|
61
37
|
getWalletBusyOperation(accountAddress: string): WalletBusyOperation | undefined;
|
|
62
38
|
isWalletBusy(accountAddress: string): boolean;
|
|
@@ -278,29 +254,19 @@ export declare class DynamicWalletClient {
|
|
|
278
254
|
password?: string;
|
|
279
255
|
}): Promise<string>;
|
|
280
256
|
/**
|
|
281
|
-
*
|
|
282
|
-
* Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
|
|
257
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
283
258
|
*/
|
|
284
|
-
|
|
259
|
+
getClientKeySharesFromLocalStorage({ accountAddress, }: {
|
|
285
260
|
accountAddress: string;
|
|
286
|
-
chainName?: string;
|
|
287
261
|
}): Promise<ClientKeyShare[]>;
|
|
288
262
|
/**
|
|
289
|
-
*
|
|
290
|
-
* Uses secureStorage when available (mobile), otherwise falls back to localStorage (browser).
|
|
263
|
+
* helper function to store encrypted backup by wallet from iframe local storage
|
|
291
264
|
*/
|
|
292
|
-
|
|
265
|
+
setClientKeySharesToLocalStorage({ accountAddress, clientKeyShares, overwriteOrMerge, }: {
|
|
293
266
|
accountAddress: string;
|
|
294
267
|
clientKeyShares: ClientKeyShare[];
|
|
295
268
|
overwriteOrMerge?: 'overwrite' | 'merge';
|
|
296
|
-
chainName?: string;
|
|
297
269
|
}): Promise<void>;
|
|
298
|
-
/**
|
|
299
|
-
* Ensures that client key shares exist for the given account address.
|
|
300
|
-
* Throws an error if no shares are found.
|
|
301
|
-
* This method enforces share presence before sensitive operations.
|
|
302
|
-
*/
|
|
303
|
-
private ensureClientShare;
|
|
304
270
|
backupSharesWithDistribution({ accountAddress, password, signedSessionId, distribution, preserveDelegatedLocation, }: {
|
|
305
271
|
accountAddress: string;
|
|
306
272
|
password?: string;
|
package/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../packages/src/client.ts"],"names":[],"mappings":"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"}
|