@dynamic-labs-wallet/browser 0.0.81 → 0.0.83
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 +60 -35
- package/index.esm.js +60 -35
- package/package.json +2 -2
- package/src/client.d.ts +28 -14
- package/src/client.d.ts.map +1 -1
package/index.cjs.js
CHANGED
|
@@ -686,16 +686,18 @@ class DynamicWalletClient {
|
|
|
686
686
|
}
|
|
687
687
|
}
|
|
688
688
|
//todo: need to modify with imported flag
|
|
689
|
-
async sign({ accountAddress, message, chainName, password = undefined, isFormatted = false }) {
|
|
689
|
+
async sign({ accountAddress, message, chainName, password = undefined, isFormatted = false, signedSessionId }) {
|
|
690
690
|
await this.verifyPassword({
|
|
691
691
|
accountAddress,
|
|
692
692
|
password,
|
|
693
|
-
walletOperation: core.WalletOperation.SIGN_MESSAGE
|
|
693
|
+
walletOperation: core.WalletOperation.SIGN_MESSAGE,
|
|
694
|
+
signedSessionId
|
|
694
695
|
});
|
|
695
696
|
const wallet = await this.getWallet({
|
|
696
697
|
accountAddress,
|
|
697
698
|
password,
|
|
698
|
-
walletOperation: core.WalletOperation.SIGN_MESSAGE
|
|
699
|
+
walletOperation: core.WalletOperation.SIGN_MESSAGE,
|
|
700
|
+
signedSessionId
|
|
699
701
|
});
|
|
700
702
|
// Perform the server sign
|
|
701
703
|
const data = await this.serverSign({
|
|
@@ -718,16 +720,18 @@ class DynamicWalletClient {
|
|
|
718
720
|
});
|
|
719
721
|
return signature;
|
|
720
722
|
}
|
|
721
|
-
async refreshWalletAccountShares({ accountAddress, chainName, password = undefined }) {
|
|
723
|
+
async refreshWalletAccountShares({ accountAddress, chainName, password = undefined, signedSessionId }) {
|
|
722
724
|
await this.verifyPassword({
|
|
723
725
|
accountAddress,
|
|
724
726
|
password,
|
|
725
|
-
walletOperation: core.WalletOperation.REFRESH
|
|
727
|
+
walletOperation: core.WalletOperation.REFRESH,
|
|
728
|
+
signedSessionId
|
|
726
729
|
});
|
|
727
730
|
const wallet = await this.getWallet({
|
|
728
731
|
accountAddress,
|
|
729
732
|
walletOperation: core.WalletOperation.NO_OPERATION,
|
|
730
|
-
password
|
|
733
|
+
password,
|
|
734
|
+
signedSessionId
|
|
731
735
|
});
|
|
732
736
|
const mpcSigner = getMPCSigner({
|
|
733
737
|
chainName,
|
|
@@ -752,7 +756,8 @@ class DynamicWalletClient {
|
|
|
752
756
|
});
|
|
753
757
|
await this.storeEncryptedBackupByWallet({
|
|
754
758
|
accountAddress,
|
|
755
|
-
password: password != null ? password : this.environmentId
|
|
759
|
+
password: password != null ? password : this.environmentId,
|
|
760
|
+
signedSessionId
|
|
756
761
|
});
|
|
757
762
|
}
|
|
758
763
|
async getExportId({ chainName, clientKeyShare }) {
|
|
@@ -806,11 +811,12 @@ class DynamicWalletClient {
|
|
|
806
811
|
existingClientKeyShares
|
|
807
812
|
};
|
|
808
813
|
}
|
|
809
|
-
async reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password = undefined }) {
|
|
814
|
+
async reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password = undefined, signedSessionId }) {
|
|
810
815
|
await this.verifyPassword({
|
|
811
816
|
accountAddress,
|
|
812
817
|
password,
|
|
813
|
-
walletOperation: core.WalletOperation.RESHARE
|
|
818
|
+
walletOperation: core.WalletOperation.RESHARE,
|
|
819
|
+
signedSessionId
|
|
814
820
|
});
|
|
815
821
|
const { existingClientShareCount } = core.getReshareConfig({
|
|
816
822
|
oldThresholdSignatureScheme,
|
|
@@ -820,7 +826,8 @@ class DynamicWalletClient {
|
|
|
820
826
|
accountAddress,
|
|
821
827
|
walletOperation: core.WalletOperation.NO_OPERATION,
|
|
822
828
|
shareCount: existingClientShareCount,
|
|
823
|
-
password
|
|
829
|
+
password,
|
|
830
|
+
signedSessionId
|
|
824
831
|
});
|
|
825
832
|
const { newClientInitKeygenResults, newClientKeygenIds, existingClientKeygenIds, existingClientKeyShares } = await this.reshareStrategy({
|
|
826
833
|
chainName,
|
|
@@ -864,14 +871,16 @@ class DynamicWalletClient {
|
|
|
864
871
|
});
|
|
865
872
|
await this.storeEncryptedBackupByWallet({
|
|
866
873
|
accountAddress,
|
|
867
|
-
password
|
|
874
|
+
password,
|
|
875
|
+
signedSessionId
|
|
868
876
|
});
|
|
869
877
|
}
|
|
870
|
-
async exportKey({ accountAddress, chainName, password = undefined }) {
|
|
878
|
+
async exportKey({ accountAddress, chainName, password = undefined, signedSessionId }) {
|
|
871
879
|
const wallet = await this.getWallet({
|
|
872
880
|
accountAddress,
|
|
873
881
|
password,
|
|
874
|
-
walletOperation: core.WalletOperation.EXPORT_PRIVATE_KEY
|
|
882
|
+
walletOperation: core.WalletOperation.EXPORT_PRIVATE_KEY,
|
|
883
|
+
signedSessionId
|
|
875
884
|
});
|
|
876
885
|
const mpcSigner = getMPCSigner({
|
|
877
886
|
chainName,
|
|
@@ -1005,7 +1014,7 @@ class DynamicWalletClient {
|
|
|
1005
1014
|
* @param {Object} params - The parameters for the backup operation
|
|
1006
1015
|
* @param {string} params.accountAddress - The account address of the wallet to backup
|
|
1007
1016
|
* @param {string} [params.password] - Optional password for encrypting the key shares
|
|
1008
|
-
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined }) {
|
|
1017
|
+
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId }) {
|
|
1009
1018
|
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1010
1019
|
accountAddress
|
|
1011
1020
|
});
|
|
@@ -1016,16 +1025,19 @@ class DynamicWalletClient {
|
|
|
1016
1025
|
if (!this.walletMap[accountAddress].walletId) {
|
|
1017
1026
|
throw new Error(`WalletId not found for accountAddress: ${accountAddress}`);
|
|
1018
1027
|
}
|
|
1028
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1019
1029
|
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1020
1030
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1021
1031
|
encryptedKeyShares,
|
|
1022
|
-
passwordEncrypted: Boolean(password) && password !== this.environmentId
|
|
1032
|
+
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1033
|
+
signedSessionId
|
|
1023
1034
|
});
|
|
1024
1035
|
const hasGoogleDriveBackup = this.walletMap[accountAddress].clientKeySharesBackupInfo.backups[core.BackupLocation.GOOGLE_DRIVE].length > 0;
|
|
1025
1036
|
if (hasGoogleDriveBackup) {
|
|
1026
1037
|
const googleDriveKeyShareIds = await this.backupKeySharesToGoogleDrive({
|
|
1027
1038
|
accountAddress,
|
|
1028
|
-
password
|
|
1039
|
+
password,
|
|
1040
|
+
signedSessionId
|
|
1029
1041
|
});
|
|
1030
1042
|
data.keyShares.push({
|
|
1031
1043
|
backupLocation: core.BackupLocation.GOOGLE_DRIVE,
|
|
@@ -1045,11 +1057,12 @@ class DynamicWalletClient {
|
|
|
1045
1057
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
1046
1058
|
return data;
|
|
1047
1059
|
}
|
|
1048
|
-
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password }) {
|
|
1060
|
+
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId }) {
|
|
1049
1061
|
await retryPromise(()=>this.storeEncryptedBackupByWallet({
|
|
1050
1062
|
accountAddress,
|
|
1051
1063
|
clientKeyShares,
|
|
1052
|
-
password
|
|
1064
|
+
password,
|
|
1065
|
+
signedSessionId
|
|
1053
1066
|
}), {
|
|
1054
1067
|
operationName: 'store encrypted backup',
|
|
1055
1068
|
logContext: {
|
|
@@ -1061,15 +1074,17 @@ class DynamicWalletClient {
|
|
|
1061
1074
|
}
|
|
1062
1075
|
});
|
|
1063
1076
|
}
|
|
1064
|
-
async updatePassword({ accountAddress, existingPassword, newPassword }) {
|
|
1077
|
+
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId }) {
|
|
1065
1078
|
await this.getWallet({
|
|
1066
1079
|
accountAddress,
|
|
1067
1080
|
password: existingPassword,
|
|
1068
|
-
walletOperation: core.WalletOperation.REACH_ALL_PARTIES
|
|
1081
|
+
walletOperation: core.WalletOperation.REACH_ALL_PARTIES,
|
|
1082
|
+
signedSessionId
|
|
1069
1083
|
});
|
|
1070
1084
|
await this.storeEncryptedBackupByWallet({
|
|
1071
1085
|
accountAddress,
|
|
1072
|
-
password: newPassword
|
|
1086
|
+
password: newPassword,
|
|
1087
|
+
signedSessionId
|
|
1073
1088
|
});
|
|
1074
1089
|
}
|
|
1075
1090
|
async decryptKeyShare({ keyShare, password }) {
|
|
@@ -1125,7 +1140,7 @@ class DynamicWalletClient {
|
|
|
1125
1140
|
requiredShareCount
|
|
1126
1141
|
};
|
|
1127
1142
|
}
|
|
1128
|
-
async recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, shareCount = undefined, storeRecoveredShares = true }) {
|
|
1143
|
+
async recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, signedSessionId, shareCount = undefined, storeRecoveredShares = true }) {
|
|
1129
1144
|
const wallet = this.walletMap[accountAddress];
|
|
1130
1145
|
this.logger.debug(`recoverEncryptedBackupByWallet wallet: ${walletOperation}`, wallet);
|
|
1131
1146
|
const { shares } = this.recoverStrategy({
|
|
@@ -1137,7 +1152,8 @@ class DynamicWalletClient {
|
|
|
1137
1152
|
const { dynamic: dynamicKeyShareIds } = shares;
|
|
1138
1153
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
1139
1154
|
walletId: wallet.walletId,
|
|
1140
|
-
keyShareIds: dynamicKeyShareIds
|
|
1155
|
+
keyShareIds: dynamicKeyShareIds,
|
|
1156
|
+
signedSessionId
|
|
1141
1157
|
});
|
|
1142
1158
|
const dynamicKeyShares = data.keyShares.filter((keyShare)=>keyShare.encryptedAccountCredential !== null && keyShare.backupLocation === core.BackupLocation.DYNAMIC);
|
|
1143
1159
|
const decryptedKeyShares = await Promise.all(dynamicKeyShares.map((keyShare)=>this.decryptKeyShare({
|
|
@@ -1161,11 +1177,12 @@ class DynamicWalletClient {
|
|
|
1161
1177
|
}
|
|
1162
1178
|
this.walletMap = JSON.parse(wallets);
|
|
1163
1179
|
}
|
|
1164
|
-
async backupKeySharesToGoogleDrive({ accountAddress, password }) {
|
|
1180
|
+
async backupKeySharesToGoogleDrive({ accountAddress, password, signedSessionId }) {
|
|
1165
1181
|
await this.getWallet({
|
|
1166
1182
|
accountAddress,
|
|
1167
1183
|
walletOperation: core.WalletOperation.REACH_ALL_PARTIES,
|
|
1168
|
-
password
|
|
1184
|
+
password,
|
|
1185
|
+
signedSessionId
|
|
1169
1186
|
});
|
|
1170
1187
|
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1171
1188
|
accountAddress
|
|
@@ -1208,9 +1225,10 @@ class DynamicWalletClient {
|
|
|
1208
1225
|
storageKey: this.storageKey
|
|
1209
1226
|
});
|
|
1210
1227
|
}
|
|
1211
|
-
async restoreBackupFromGoogleDrive({ accountAddress, password }) {
|
|
1228
|
+
async restoreBackupFromGoogleDrive({ accountAddress, password, signedSessionId }) {
|
|
1212
1229
|
await this.getWallet({
|
|
1213
|
-
accountAddress
|
|
1230
|
+
accountAddress,
|
|
1231
|
+
signedSessionId
|
|
1214
1232
|
});
|
|
1215
1233
|
const oauthAccountId = await this.getGoogleOauthAccountIdOrThrow(accountAddress);
|
|
1216
1234
|
const accessToken = await this.apiClient.getAccessToken({
|
|
@@ -1262,11 +1280,12 @@ class DynamicWalletClient {
|
|
|
1262
1280
|
});
|
|
1263
1281
|
return decryptedKeyShares;
|
|
1264
1282
|
}
|
|
1265
|
-
async exportClientKeyshares({ accountAddress, password }) {
|
|
1283
|
+
async exportClientKeyshares({ accountAddress, password, signedSessionId }) {
|
|
1266
1284
|
await this.verifyPassword({
|
|
1267
1285
|
accountAddress,
|
|
1268
1286
|
password,
|
|
1269
|
-
walletOperation: core.WalletOperation.REACH_ALL_PARTIES
|
|
1287
|
+
walletOperation: core.WalletOperation.REACH_ALL_PARTIES,
|
|
1288
|
+
signedSessionId
|
|
1270
1289
|
});
|
|
1271
1290
|
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1272
1291
|
accountAddress
|
|
@@ -1290,11 +1309,12 @@ class DynamicWalletClient {
|
|
|
1290
1309
|
a.download = `${CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX}-${accountAddress}.txt`;
|
|
1291
1310
|
a.click();
|
|
1292
1311
|
}
|
|
1293
|
-
async getClientKeyShares({ accountAddress, password }) {
|
|
1312
|
+
async getClientKeyShares({ accountAddress, password, signedSessionId }) {
|
|
1294
1313
|
await this.getWallet({
|
|
1295
1314
|
accountAddress,
|
|
1296
1315
|
password,
|
|
1297
|
-
walletOperation: core.WalletOperation.REACH_THRESHOLD
|
|
1316
|
+
walletOperation: core.WalletOperation.REACH_THRESHOLD,
|
|
1317
|
+
signedSessionId
|
|
1298
1318
|
});
|
|
1299
1319
|
return this.getClientKeySharesFromLocalStorage({
|
|
1300
1320
|
accountAddress
|
|
@@ -1347,11 +1367,12 @@ class DynamicWalletClient {
|
|
|
1347
1367
|
* verifyPassword attempts to recover and decrypt a single client key share using the provided password.
|
|
1348
1368
|
* If successful, the key share is encrypted with the new password. This method solely performs the recovery
|
|
1349
1369
|
* and decryption without storing the restored key shares. If unsuccessful, it throws an error.
|
|
1350
|
-
*/ async verifyPassword({ accountAddress, password = undefined, walletOperation = core.WalletOperation.NO_OPERATION }) {
|
|
1370
|
+
*/ async verifyPassword({ accountAddress, password = undefined, walletOperation = core.WalletOperation.NO_OPERATION, signedSessionId }) {
|
|
1351
1371
|
await this.getWallet({
|
|
1352
1372
|
accountAddress,
|
|
1353
1373
|
password,
|
|
1354
|
-
walletOperation
|
|
1374
|
+
walletOperation,
|
|
1375
|
+
signedSessionId
|
|
1355
1376
|
});
|
|
1356
1377
|
if (await this.requiresPasswordForOperation({
|
|
1357
1378
|
accountAddress,
|
|
@@ -1371,12 +1392,14 @@ class DynamicWalletClient {
|
|
|
1371
1392
|
throw new Error('No dynamic key shares found');
|
|
1372
1393
|
}
|
|
1373
1394
|
try {
|
|
1395
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1374
1396
|
await this.recoverEncryptedBackupByWallet({
|
|
1375
1397
|
accountAddress,
|
|
1376
1398
|
password,
|
|
1377
1399
|
walletOperation,
|
|
1378
1400
|
shareCount: 1,
|
|
1379
|
-
storeRecoveredShares: false
|
|
1401
|
+
storeRecoveredShares: false,
|
|
1402
|
+
signedSessionId
|
|
1380
1403
|
});
|
|
1381
1404
|
} catch (error) {
|
|
1382
1405
|
this.logger.error('Error in verifying password', error);
|
|
@@ -1438,7 +1461,7 @@ class DynamicWalletClient {
|
|
|
1438
1461
|
walletProperties: wallet == null ? void 0 : wallet.walletProperties
|
|
1439
1462
|
});
|
|
1440
1463
|
}
|
|
1441
|
-
async getWallet({ accountAddress, walletOperation = core.WalletOperation.NO_OPERATION, shareCount = undefined, password = undefined }) {
|
|
1464
|
+
async getWallet({ accountAddress, walletOperation = core.WalletOperation.NO_OPERATION, shareCount = undefined, password = undefined, signedSessionId }) {
|
|
1442
1465
|
var _user_verifiedCredentials;
|
|
1443
1466
|
const existingWalletCheck = await this.checkWalletFields({
|
|
1444
1467
|
accountAddress,
|
|
@@ -1468,10 +1491,12 @@ class DynamicWalletClient {
|
|
|
1468
1491
|
accountAddress,
|
|
1469
1492
|
walletOperation
|
|
1470
1493
|
})) {
|
|
1494
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1471
1495
|
const decryptedKeyShares = await this.recoverEncryptedBackupByWallet({
|
|
1472
1496
|
accountAddress,
|
|
1473
1497
|
password: password != null ? password : this.environmentId,
|
|
1474
1498
|
walletOperation: walletOperation,
|
|
1499
|
+
signedSessionId,
|
|
1475
1500
|
shareCount
|
|
1476
1501
|
});
|
|
1477
1502
|
const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
|
package/index.esm.js
CHANGED
|
@@ -686,16 +686,18 @@ class DynamicWalletClient {
|
|
|
686
686
|
}
|
|
687
687
|
}
|
|
688
688
|
//todo: need to modify with imported flag
|
|
689
|
-
async sign({ accountAddress, message, chainName, password = undefined, isFormatted = false }) {
|
|
689
|
+
async sign({ accountAddress, message, chainName, password = undefined, isFormatted = false, signedSessionId }) {
|
|
690
690
|
await this.verifyPassword({
|
|
691
691
|
accountAddress,
|
|
692
692
|
password,
|
|
693
|
-
walletOperation: WalletOperation.SIGN_MESSAGE
|
|
693
|
+
walletOperation: WalletOperation.SIGN_MESSAGE,
|
|
694
|
+
signedSessionId
|
|
694
695
|
});
|
|
695
696
|
const wallet = await this.getWallet({
|
|
696
697
|
accountAddress,
|
|
697
698
|
password,
|
|
698
|
-
walletOperation: WalletOperation.SIGN_MESSAGE
|
|
699
|
+
walletOperation: WalletOperation.SIGN_MESSAGE,
|
|
700
|
+
signedSessionId
|
|
699
701
|
});
|
|
700
702
|
// Perform the server sign
|
|
701
703
|
const data = await this.serverSign({
|
|
@@ -718,16 +720,18 @@ class DynamicWalletClient {
|
|
|
718
720
|
});
|
|
719
721
|
return signature;
|
|
720
722
|
}
|
|
721
|
-
async refreshWalletAccountShares({ accountAddress, chainName, password = undefined }) {
|
|
723
|
+
async refreshWalletAccountShares({ accountAddress, chainName, password = undefined, signedSessionId }) {
|
|
722
724
|
await this.verifyPassword({
|
|
723
725
|
accountAddress,
|
|
724
726
|
password,
|
|
725
|
-
walletOperation: WalletOperation.REFRESH
|
|
727
|
+
walletOperation: WalletOperation.REFRESH,
|
|
728
|
+
signedSessionId
|
|
726
729
|
});
|
|
727
730
|
const wallet = await this.getWallet({
|
|
728
731
|
accountAddress,
|
|
729
732
|
walletOperation: WalletOperation.NO_OPERATION,
|
|
730
|
-
password
|
|
733
|
+
password,
|
|
734
|
+
signedSessionId
|
|
731
735
|
});
|
|
732
736
|
const mpcSigner = getMPCSigner({
|
|
733
737
|
chainName,
|
|
@@ -752,7 +756,8 @@ class DynamicWalletClient {
|
|
|
752
756
|
});
|
|
753
757
|
await this.storeEncryptedBackupByWallet({
|
|
754
758
|
accountAddress,
|
|
755
|
-
password: password != null ? password : this.environmentId
|
|
759
|
+
password: password != null ? password : this.environmentId,
|
|
760
|
+
signedSessionId
|
|
756
761
|
});
|
|
757
762
|
}
|
|
758
763
|
async getExportId({ chainName, clientKeyShare }) {
|
|
@@ -806,11 +811,12 @@ class DynamicWalletClient {
|
|
|
806
811
|
existingClientKeyShares
|
|
807
812
|
};
|
|
808
813
|
}
|
|
809
|
-
async reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password = undefined }) {
|
|
814
|
+
async reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password = undefined, signedSessionId }) {
|
|
810
815
|
await this.verifyPassword({
|
|
811
816
|
accountAddress,
|
|
812
817
|
password,
|
|
813
|
-
walletOperation: WalletOperation.RESHARE
|
|
818
|
+
walletOperation: WalletOperation.RESHARE,
|
|
819
|
+
signedSessionId
|
|
814
820
|
});
|
|
815
821
|
const { existingClientShareCount } = getReshareConfig({
|
|
816
822
|
oldThresholdSignatureScheme,
|
|
@@ -820,7 +826,8 @@ class DynamicWalletClient {
|
|
|
820
826
|
accountAddress,
|
|
821
827
|
walletOperation: WalletOperation.NO_OPERATION,
|
|
822
828
|
shareCount: existingClientShareCount,
|
|
823
|
-
password
|
|
829
|
+
password,
|
|
830
|
+
signedSessionId
|
|
824
831
|
});
|
|
825
832
|
const { newClientInitKeygenResults, newClientKeygenIds, existingClientKeygenIds, existingClientKeyShares } = await this.reshareStrategy({
|
|
826
833
|
chainName,
|
|
@@ -864,14 +871,16 @@ class DynamicWalletClient {
|
|
|
864
871
|
});
|
|
865
872
|
await this.storeEncryptedBackupByWallet({
|
|
866
873
|
accountAddress,
|
|
867
|
-
password
|
|
874
|
+
password,
|
|
875
|
+
signedSessionId
|
|
868
876
|
});
|
|
869
877
|
}
|
|
870
|
-
async exportKey({ accountAddress, chainName, password = undefined }) {
|
|
878
|
+
async exportKey({ accountAddress, chainName, password = undefined, signedSessionId }) {
|
|
871
879
|
const wallet = await this.getWallet({
|
|
872
880
|
accountAddress,
|
|
873
881
|
password,
|
|
874
|
-
walletOperation: WalletOperation.EXPORT_PRIVATE_KEY
|
|
882
|
+
walletOperation: WalletOperation.EXPORT_PRIVATE_KEY,
|
|
883
|
+
signedSessionId
|
|
875
884
|
});
|
|
876
885
|
const mpcSigner = getMPCSigner({
|
|
877
886
|
chainName,
|
|
@@ -1005,7 +1014,7 @@ class DynamicWalletClient {
|
|
|
1005
1014
|
* @param {Object} params - The parameters for the backup operation
|
|
1006
1015
|
* @param {string} params.accountAddress - The account address of the wallet to backup
|
|
1007
1016
|
* @param {string} [params.password] - Optional password for encrypting the key shares
|
|
1008
|
-
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined }) {
|
|
1017
|
+
*/ async storeEncryptedBackupByWallet({ accountAddress, clientKeyShares = undefined, password = undefined, signedSessionId }) {
|
|
1009
1018
|
const keySharesToBackup = clientKeyShares != null ? clientKeyShares : await this.getClientKeySharesFromLocalStorage({
|
|
1010
1019
|
accountAddress
|
|
1011
1020
|
});
|
|
@@ -1016,16 +1025,19 @@ class DynamicWalletClient {
|
|
|
1016
1025
|
if (!this.walletMap[accountAddress].walletId) {
|
|
1017
1026
|
throw new Error(`WalletId not found for accountAddress: ${accountAddress}`);
|
|
1018
1027
|
}
|
|
1028
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1019
1029
|
const data = await this.apiClient.storeEncryptedBackupByWallet({
|
|
1020
1030
|
walletId: this.walletMap[accountAddress].walletId,
|
|
1021
1031
|
encryptedKeyShares,
|
|
1022
|
-
passwordEncrypted: Boolean(password) && password !== this.environmentId
|
|
1032
|
+
passwordEncrypted: Boolean(password) && password !== this.environmentId,
|
|
1033
|
+
signedSessionId
|
|
1023
1034
|
});
|
|
1024
1035
|
const hasGoogleDriveBackup = this.walletMap[accountAddress].clientKeySharesBackupInfo.backups[BackupLocation.GOOGLE_DRIVE].length > 0;
|
|
1025
1036
|
if (hasGoogleDriveBackup) {
|
|
1026
1037
|
const googleDriveKeyShareIds = await this.backupKeySharesToGoogleDrive({
|
|
1027
1038
|
accountAddress,
|
|
1028
|
-
password
|
|
1039
|
+
password,
|
|
1040
|
+
signedSessionId
|
|
1029
1041
|
});
|
|
1030
1042
|
data.keyShares.push({
|
|
1031
1043
|
backupLocation: BackupLocation.GOOGLE_DRIVE,
|
|
@@ -1045,11 +1057,12 @@ class DynamicWalletClient {
|
|
|
1045
1057
|
await this.storage.setItem(this.storageKey, JSON.stringify(this.walletMap));
|
|
1046
1058
|
return data;
|
|
1047
1059
|
}
|
|
1048
|
-
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password }) {
|
|
1060
|
+
async storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId }) {
|
|
1049
1061
|
await retryPromise(()=>this.storeEncryptedBackupByWallet({
|
|
1050
1062
|
accountAddress,
|
|
1051
1063
|
clientKeyShares,
|
|
1052
|
-
password
|
|
1064
|
+
password,
|
|
1065
|
+
signedSessionId
|
|
1053
1066
|
}), {
|
|
1054
1067
|
operationName: 'store encrypted backup',
|
|
1055
1068
|
logContext: {
|
|
@@ -1061,15 +1074,17 @@ class DynamicWalletClient {
|
|
|
1061
1074
|
}
|
|
1062
1075
|
});
|
|
1063
1076
|
}
|
|
1064
|
-
async updatePassword({ accountAddress, existingPassword, newPassword }) {
|
|
1077
|
+
async updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId }) {
|
|
1065
1078
|
await this.getWallet({
|
|
1066
1079
|
accountAddress,
|
|
1067
1080
|
password: existingPassword,
|
|
1068
|
-
walletOperation: WalletOperation.REACH_ALL_PARTIES
|
|
1081
|
+
walletOperation: WalletOperation.REACH_ALL_PARTIES,
|
|
1082
|
+
signedSessionId
|
|
1069
1083
|
});
|
|
1070
1084
|
await this.storeEncryptedBackupByWallet({
|
|
1071
1085
|
accountAddress,
|
|
1072
|
-
password: newPassword
|
|
1086
|
+
password: newPassword,
|
|
1087
|
+
signedSessionId
|
|
1073
1088
|
});
|
|
1074
1089
|
}
|
|
1075
1090
|
async decryptKeyShare({ keyShare, password }) {
|
|
@@ -1125,7 +1140,7 @@ class DynamicWalletClient {
|
|
|
1125
1140
|
requiredShareCount
|
|
1126
1141
|
};
|
|
1127
1142
|
}
|
|
1128
|
-
async recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, shareCount = undefined, storeRecoveredShares = true }) {
|
|
1143
|
+
async recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, signedSessionId, shareCount = undefined, storeRecoveredShares = true }) {
|
|
1129
1144
|
const wallet = this.walletMap[accountAddress];
|
|
1130
1145
|
this.logger.debug(`recoverEncryptedBackupByWallet wallet: ${walletOperation}`, wallet);
|
|
1131
1146
|
const { shares } = this.recoverStrategy({
|
|
@@ -1137,7 +1152,8 @@ class DynamicWalletClient {
|
|
|
1137
1152
|
const { dynamic: dynamicKeyShareIds } = shares;
|
|
1138
1153
|
const data = await this.apiClient.recoverEncryptedBackupByWallet({
|
|
1139
1154
|
walletId: wallet.walletId,
|
|
1140
|
-
keyShareIds: dynamicKeyShareIds
|
|
1155
|
+
keyShareIds: dynamicKeyShareIds,
|
|
1156
|
+
signedSessionId
|
|
1141
1157
|
});
|
|
1142
1158
|
const dynamicKeyShares = data.keyShares.filter((keyShare)=>keyShare.encryptedAccountCredential !== null && keyShare.backupLocation === BackupLocation.DYNAMIC);
|
|
1143
1159
|
const decryptedKeyShares = await Promise.all(dynamicKeyShares.map((keyShare)=>this.decryptKeyShare({
|
|
@@ -1161,11 +1177,12 @@ class DynamicWalletClient {
|
|
|
1161
1177
|
}
|
|
1162
1178
|
this.walletMap = JSON.parse(wallets);
|
|
1163
1179
|
}
|
|
1164
|
-
async backupKeySharesToGoogleDrive({ accountAddress, password }) {
|
|
1180
|
+
async backupKeySharesToGoogleDrive({ accountAddress, password, signedSessionId }) {
|
|
1165
1181
|
await this.getWallet({
|
|
1166
1182
|
accountAddress,
|
|
1167
1183
|
walletOperation: WalletOperation.REACH_ALL_PARTIES,
|
|
1168
|
-
password
|
|
1184
|
+
password,
|
|
1185
|
+
signedSessionId
|
|
1169
1186
|
});
|
|
1170
1187
|
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1171
1188
|
accountAddress
|
|
@@ -1208,9 +1225,10 @@ class DynamicWalletClient {
|
|
|
1208
1225
|
storageKey: this.storageKey
|
|
1209
1226
|
});
|
|
1210
1227
|
}
|
|
1211
|
-
async restoreBackupFromGoogleDrive({ accountAddress, password }) {
|
|
1228
|
+
async restoreBackupFromGoogleDrive({ accountAddress, password, signedSessionId }) {
|
|
1212
1229
|
await this.getWallet({
|
|
1213
|
-
accountAddress
|
|
1230
|
+
accountAddress,
|
|
1231
|
+
signedSessionId
|
|
1214
1232
|
});
|
|
1215
1233
|
const oauthAccountId = await this.getGoogleOauthAccountIdOrThrow(accountAddress);
|
|
1216
1234
|
const accessToken = await this.apiClient.getAccessToken({
|
|
@@ -1262,11 +1280,12 @@ class DynamicWalletClient {
|
|
|
1262
1280
|
});
|
|
1263
1281
|
return decryptedKeyShares;
|
|
1264
1282
|
}
|
|
1265
|
-
async exportClientKeyshares({ accountAddress, password }) {
|
|
1283
|
+
async exportClientKeyshares({ accountAddress, password, signedSessionId }) {
|
|
1266
1284
|
await this.verifyPassword({
|
|
1267
1285
|
accountAddress,
|
|
1268
1286
|
password,
|
|
1269
|
-
walletOperation: WalletOperation.REACH_ALL_PARTIES
|
|
1287
|
+
walletOperation: WalletOperation.REACH_ALL_PARTIES,
|
|
1288
|
+
signedSessionId
|
|
1270
1289
|
});
|
|
1271
1290
|
const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
|
|
1272
1291
|
accountAddress
|
|
@@ -1290,11 +1309,12 @@ class DynamicWalletClient {
|
|
|
1290
1309
|
a.download = `${CLIENT_KEYSHARE_EXPORT_FILENAME_PREFIX}-${accountAddress}.txt`;
|
|
1291
1310
|
a.click();
|
|
1292
1311
|
}
|
|
1293
|
-
async getClientKeyShares({ accountAddress, password }) {
|
|
1312
|
+
async getClientKeyShares({ accountAddress, password, signedSessionId }) {
|
|
1294
1313
|
await this.getWallet({
|
|
1295
1314
|
accountAddress,
|
|
1296
1315
|
password,
|
|
1297
|
-
walletOperation: WalletOperation.REACH_THRESHOLD
|
|
1316
|
+
walletOperation: WalletOperation.REACH_THRESHOLD,
|
|
1317
|
+
signedSessionId
|
|
1298
1318
|
});
|
|
1299
1319
|
return this.getClientKeySharesFromLocalStorage({
|
|
1300
1320
|
accountAddress
|
|
@@ -1347,11 +1367,12 @@ class DynamicWalletClient {
|
|
|
1347
1367
|
* verifyPassword attempts to recover and decrypt a single client key share using the provided password.
|
|
1348
1368
|
* If successful, the key share is encrypted with the new password. This method solely performs the recovery
|
|
1349
1369
|
* and decryption without storing the restored key shares. If unsuccessful, it throws an error.
|
|
1350
|
-
*/ async verifyPassword({ accountAddress, password = undefined, walletOperation = WalletOperation.NO_OPERATION }) {
|
|
1370
|
+
*/ async verifyPassword({ accountAddress, password = undefined, walletOperation = WalletOperation.NO_OPERATION, signedSessionId }) {
|
|
1351
1371
|
await this.getWallet({
|
|
1352
1372
|
accountAddress,
|
|
1353
1373
|
password,
|
|
1354
|
-
walletOperation
|
|
1374
|
+
walletOperation,
|
|
1375
|
+
signedSessionId
|
|
1355
1376
|
});
|
|
1356
1377
|
if (await this.requiresPasswordForOperation({
|
|
1357
1378
|
accountAddress,
|
|
@@ -1371,12 +1392,14 @@ class DynamicWalletClient {
|
|
|
1371
1392
|
throw new Error('No dynamic key shares found');
|
|
1372
1393
|
}
|
|
1373
1394
|
try {
|
|
1395
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1374
1396
|
await this.recoverEncryptedBackupByWallet({
|
|
1375
1397
|
accountAddress,
|
|
1376
1398
|
password,
|
|
1377
1399
|
walletOperation,
|
|
1378
1400
|
shareCount: 1,
|
|
1379
|
-
storeRecoveredShares: false
|
|
1401
|
+
storeRecoveredShares: false,
|
|
1402
|
+
signedSessionId
|
|
1380
1403
|
});
|
|
1381
1404
|
} catch (error) {
|
|
1382
1405
|
this.logger.error('Error in verifying password', error);
|
|
@@ -1438,7 +1461,7 @@ class DynamicWalletClient {
|
|
|
1438
1461
|
walletProperties: wallet == null ? void 0 : wallet.walletProperties
|
|
1439
1462
|
});
|
|
1440
1463
|
}
|
|
1441
|
-
async getWallet({ accountAddress, walletOperation = WalletOperation.NO_OPERATION, shareCount = undefined, password = undefined }) {
|
|
1464
|
+
async getWallet({ accountAddress, walletOperation = WalletOperation.NO_OPERATION, shareCount = undefined, password = undefined, signedSessionId }) {
|
|
1442
1465
|
var _user_verifiedCredentials;
|
|
1443
1466
|
const existingWalletCheck = await this.checkWalletFields({
|
|
1444
1467
|
accountAddress,
|
|
@@ -1468,10 +1491,12 @@ class DynamicWalletClient {
|
|
|
1468
1491
|
accountAddress,
|
|
1469
1492
|
walletOperation
|
|
1470
1493
|
})) {
|
|
1494
|
+
// TODO(zfaizal2): throw error if signedSessionId is not provided after service deploy
|
|
1471
1495
|
const decryptedKeyShares = await this.recoverEncryptedBackupByWallet({
|
|
1472
1496
|
accountAddress,
|
|
1473
1497
|
password: password != null ? password : this.environmentId,
|
|
1474
1498
|
walletOperation: walletOperation,
|
|
1499
|
+
signedSessionId,
|
|
1475
1500
|
shareCount
|
|
1476
1501
|
});
|
|
1477
1502
|
const existingKeyShares = await this.getClientKeySharesFromLocalStorage({
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.83",
|
|
4
4
|
"license": "Licensed under the Dynamic Labs, Inc. Terms Of Service (https://www.dynamic.xyz/terms-conditions)",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@dynamic-labs-wallet/core": "0.0.
|
|
6
|
+
"@dynamic-labs-wallet/core": "0.0.83",
|
|
7
7
|
"@dynamic-labs/logger": "^4.9.9",
|
|
8
8
|
"@dynamic-labs/sdk-api-core": "^0.0.663",
|
|
9
9
|
"@noble/hashes": "1.7.1"
|
package/src/client.d.ts
CHANGED
|
@@ -83,17 +83,19 @@ export declare class DynamicWalletClient {
|
|
|
83
83
|
derivationPath: Uint32Array | undefined;
|
|
84
84
|
isFormatted?: boolean;
|
|
85
85
|
}): Promise<Uint8Array | EcdsaSignature>;
|
|
86
|
-
sign({ accountAddress, message, chainName, password, isFormatted, }: {
|
|
86
|
+
sign({ accountAddress, message, chainName, password, isFormatted, signedSessionId, }: {
|
|
87
87
|
accountAddress: string;
|
|
88
88
|
message: string | Uint8Array;
|
|
89
89
|
chainName: string;
|
|
90
90
|
password?: string;
|
|
91
91
|
isFormatted?: boolean;
|
|
92
|
+
signedSessionId?: string;
|
|
92
93
|
}): Promise<Uint8Array | EcdsaSignature>;
|
|
93
|
-
refreshWalletAccountShares({ accountAddress, chainName, password, }: {
|
|
94
|
+
refreshWalletAccountShares({ accountAddress, chainName, password, signedSessionId, }: {
|
|
94
95
|
accountAddress: string;
|
|
95
96
|
chainName: string;
|
|
96
97
|
password?: string;
|
|
98
|
+
signedSessionId?: string;
|
|
97
99
|
}): Promise<void>;
|
|
98
100
|
getExportId({ chainName, clientKeyShare, }: {
|
|
99
101
|
chainName: string;
|
|
@@ -125,17 +127,19 @@ export declare class DynamicWalletClient {
|
|
|
125
127
|
existingClientKeygenIds: string[];
|
|
126
128
|
existingClientKeyShares: ClientKeyShare[];
|
|
127
129
|
}>;
|
|
128
|
-
reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password, }: {
|
|
130
|
+
reshare({ chainName, accountAddress, oldThresholdSignatureScheme, newThresholdSignatureScheme, password, signedSessionId, }: {
|
|
129
131
|
chainName: string;
|
|
130
132
|
accountAddress: string;
|
|
131
133
|
oldThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
132
134
|
newThresholdSignatureScheme: ThresholdSignatureScheme;
|
|
133
135
|
password?: string;
|
|
136
|
+
signedSessionId?: string;
|
|
134
137
|
}): Promise<void>;
|
|
135
|
-
exportKey({ accountAddress, chainName, password, }: {
|
|
138
|
+
exportKey({ accountAddress, chainName, password, signedSessionId, }: {
|
|
136
139
|
accountAddress: string;
|
|
137
140
|
chainName: string;
|
|
138
141
|
password?: string;
|
|
142
|
+
signedSessionId?: string;
|
|
139
143
|
}): Promise<{
|
|
140
144
|
derivedPrivateKey: string | undefined;
|
|
141
145
|
}>;
|
|
@@ -183,20 +187,23 @@ export declare class DynamicWalletClient {
|
|
|
183
187
|
* @param {string} params.accountAddress - The account address of the wallet to backup
|
|
184
188
|
* @param {string} [params.password] - Optional password for encrypting the key shares
|
|
185
189
|
*/
|
|
186
|
-
storeEncryptedBackupByWallet({ accountAddress, clientKeyShares, password, }: {
|
|
190
|
+
storeEncryptedBackupByWallet({ accountAddress, clientKeyShares, password, signedSessionId, }: {
|
|
187
191
|
accountAddress: string;
|
|
188
192
|
clientKeyShares?: ClientKeyShare[];
|
|
189
193
|
password?: string;
|
|
194
|
+
signedSessionId?: string;
|
|
190
195
|
}): Promise<any>;
|
|
191
|
-
storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, }: {
|
|
196
|
+
storeEncryptedBackupByWalletWithRetry({ accountAddress, clientKeyShares, password, signedSessionId, }: {
|
|
192
197
|
accountAddress: string;
|
|
193
198
|
clientKeyShares?: ClientKeyShare[];
|
|
194
199
|
password?: string;
|
|
200
|
+
signedSessionId?: string;
|
|
195
201
|
}): Promise<void>;
|
|
196
|
-
updatePassword({ accountAddress, existingPassword, newPassword, }: {
|
|
202
|
+
updatePassword({ accountAddress, existingPassword, newPassword, signedSessionId, }: {
|
|
197
203
|
accountAddress: string;
|
|
198
204
|
existingPassword?: string;
|
|
199
205
|
newPassword?: string;
|
|
206
|
+
signedSessionId?: string;
|
|
200
207
|
}): Promise<void>;
|
|
201
208
|
decryptKeyShare({ keyShare, password, }: {
|
|
202
209
|
keyShare: string;
|
|
@@ -230,29 +237,34 @@ export declare class DynamicWalletClient {
|
|
|
230
237
|
shares: Partial<Record<BackupLocation, string[]>>;
|
|
231
238
|
requiredShareCount: number;
|
|
232
239
|
};
|
|
233
|
-
recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, shareCount, storeRecoveredShares, }: {
|
|
240
|
+
recoverEncryptedBackupByWallet({ accountAddress, password, walletOperation, signedSessionId, shareCount, storeRecoveredShares, }: {
|
|
234
241
|
accountAddress: string;
|
|
235
242
|
password?: string;
|
|
236
243
|
walletOperation: WalletOperation;
|
|
244
|
+
signedSessionId?: string;
|
|
237
245
|
shareCount?: number;
|
|
238
246
|
storeRecoveredShares?: boolean;
|
|
239
247
|
}): Promise<any[]>;
|
|
240
248
|
restoreWallets(): Promise<void>;
|
|
241
|
-
backupKeySharesToGoogleDrive({ accountAddress, password, }: {
|
|
249
|
+
backupKeySharesToGoogleDrive({ accountAddress, password, signedSessionId, }: {
|
|
242
250
|
accountAddress: string;
|
|
243
251
|
password?: string;
|
|
252
|
+
signedSessionId?: string;
|
|
244
253
|
}): Promise<void>;
|
|
245
|
-
restoreBackupFromGoogleDrive({ accountAddress, password, }: {
|
|
254
|
+
restoreBackupFromGoogleDrive({ accountAddress, password, signedSessionId, }: {
|
|
246
255
|
accountAddress: string;
|
|
247
256
|
password?: string;
|
|
257
|
+
signedSessionId?: string;
|
|
248
258
|
}): Promise<ClientKeyShare[]>;
|
|
249
|
-
exportClientKeyshares({ accountAddress, password, }: {
|
|
259
|
+
exportClientKeyshares({ accountAddress, password, signedSessionId, }: {
|
|
250
260
|
accountAddress: string;
|
|
251
261
|
password?: string;
|
|
262
|
+
signedSessionId?: string;
|
|
252
263
|
}): Promise<void>;
|
|
253
|
-
getClientKeyShares({ accountAddress, password, }: {
|
|
264
|
+
getClientKeyShares({ accountAddress, password, signedSessionId, }: {
|
|
254
265
|
accountAddress: string;
|
|
255
266
|
password?: string;
|
|
267
|
+
signedSessionId?: string;
|
|
256
268
|
}): Promise<ClientKeyShare[]>;
|
|
257
269
|
/**
|
|
258
270
|
* Helper function to check if the required wallet fields are present and valid
|
|
@@ -266,10 +278,11 @@ export declare class DynamicWalletClient {
|
|
|
266
278
|
* If successful, the key share is encrypted with the new password. This method solely performs the recovery
|
|
267
279
|
* and decryption without storing the restored key shares. If unsuccessful, it throws an error.
|
|
268
280
|
*/
|
|
269
|
-
verifyPassword({ accountAddress, password, walletOperation, }: {
|
|
281
|
+
verifyPassword({ accountAddress, password, walletOperation, signedSessionId, }: {
|
|
270
282
|
accountAddress: string;
|
|
271
283
|
password?: string;
|
|
272
284
|
walletOperation?: WalletOperation;
|
|
285
|
+
signedSessionId?: string;
|
|
273
286
|
}): Promise<void>;
|
|
274
287
|
isPasswordEncrypted({ accountAddress, }: {
|
|
275
288
|
accountAddress: string;
|
|
@@ -291,11 +304,12 @@ export declare class DynamicWalletClient {
|
|
|
291
304
|
getWalletClientKeyShareBackupInfo({ accountAddress, }: {
|
|
292
305
|
accountAddress: string;
|
|
293
306
|
}): Promise<KeyShareBackupInfo>;
|
|
294
|
-
getWallet({ accountAddress, walletOperation, shareCount, password, }: {
|
|
307
|
+
getWallet({ accountAddress, walletOperation, shareCount, password, signedSessionId, }: {
|
|
295
308
|
accountAddress: string;
|
|
296
309
|
walletOperation?: WalletOperation;
|
|
297
310
|
shareCount?: number;
|
|
298
311
|
password?: string;
|
|
312
|
+
signedSessionId?: string;
|
|
299
313
|
}): Promise<WalletProperties>;
|
|
300
314
|
getWallets(): Promise<any>;
|
|
301
315
|
}
|
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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"}
|